Achtzehn Monate nach der verheerenden Schlacht in Metropolis „Man of Steel” (2013) ist Superman zu einer umstrittenen Figur geworden. Milliardär Bruce Wayne (Ben Affleck), der seit fast zwei Jahrzehnten heimlich als der Rächer Batman in Gotham City agiert, gibt Superman die Schuld an den massiven Opfern, die durch seinen Kampf mit General Zod (Michael Shannon) verursacht wurden. Unter den Opfern befanden sich viele Mitarbeiter von Wayne Enterprises, als der Turm einstürzte.
Superman, in seiner öffentlichen Identität als Journalist der Daily Planet, Clark Kent (Henry Cavill), sieht Batman als Gefahr und will ihn entlarven. LexCorp-Mogul Lex Luthor (Jesse Eisenberg) sieht Superman ebenfalls als Bedrohung und überzeugt Senatorin June Finch (Holly Hunter), ihm zu helfen, Kryptonit aus Zods gescheitertem Terraforming-Versuch im Indischen Ozean zu bergen. Finch blockiert später Luthors Versuche, Zods DNA und das kryptonische Scout-Schiff der Schlacht zu benutzen, um eine biologische Waffe zu schaffen.
Wayne infiltriert erfolgreich eine von Luthor geförderte Wohltätigkeitsveranstaltung, um Daten aus LexCorps Server zu stehlen. Doch sein Flash-Laufwerk wird von der mysteriösen Antiquitätenhändlerin Diana Prince (Gal Gadot) gestohlen. Sie erfährt, dass Luthor Dateien über mehrere „Metawesen” hat; Wesen mit übermenschlichen Fähigkeiten: sich selbst, sowie einen Mann mit übermenschlicher Geschwindigkeit Flash (Ezra Miller), einen Mann mit einem kybernetischen Körper Cyborg (Ray Fisher) und einen Mann, der unter Wasser lebt Aquaman (Jason Momoa). Wayne erhält das Laufwerk später von ihr zurück, nachdem sie es kopiert hat.
Während Wayne die Daten entschlüsselt, erleidet er eine Vision einer dystopischen Zukunft, in der er ein riesiges Omega-Symbol in eine Wüstenlandschaft eingebrannt sieht. Bewaffnet mit einer Pistole führt er eine Truppe von Rebellen gegen Superman an. Batman wird von seinen eigenen Männern verraten, gefangen genommen und von Supermans Armee festgehalten. Superman nähert sich ihm, reißt ihm die Maske herunter und sagt ihm, er habe ihm alles genommen. Dann reißt Superman Batman das Herz heraus. Wayne wird von der Vision durch einen geheimnisvollen Zeitreisenden geweckt, der ihn warnt, dass Lois Lane (Amy Adams) eine entscheidende Rolle in einer bevorstehenden Bedrohung spielt und dass er die anderen finden muss. Bevor er verschwindet, schreit der Zeitreisende, dass er „zu früh” mit seiner Nachricht sei.
Wayne erfährt nicht nur von Luthors Experimenten mit Kryptonit, sondern auch von seiner laufenden Untersuchung über Metawesen, einschließlich Prince selbst, die eine unsterbliche Kriegerin ist. Batman versucht, Luthors Kryptonit im Batmobil zu bergen, wird aber von Superman abgefangen, der ihm befiehlt, seine Aktivitäten einzustellen. Später ruft Finch Superman zu einer Anhörung im US-Kapitol, um die Gültigkeit seiner Handlungen zu diskutieren.
Luthor plant eine Bombenexplosion, die Dutzende tötet, indem er die Bombe im Rollstuhl eines Mannes (Wallace Keefe Scoot McNairy) versteckt, der bei Supermans Kampf mit Zod in Metropolis gelähmt wurde. Alle im Saal sterben, auch Finch. Trotz seiner Bemühungen, die Verletzten aus der Explosionszone zu retten, wird Superman die Schuld an dem Anschlag gegeben, woraufhin er sich ins Exil begibt.
Batman gelingt es, das Kryptonit zu holen und bereitet sich darauf vor, einen Schlag gegen Superman zu führen, indem er ein mächtiges Exoskelett und ein kryptonit-getriebenes Arsenal baut. Luthor aktiviert das Genesis Chamber im Scout-Schiff und kombiniert seine eigene DNA mit der von Zod. Luthor gefährdet Lois, um Superman zum LexCorp-Turm zu locken und enthüllt, dass er seit langem Supermans Geheimnisse kennt. Er erpresst Superman, gegen Batman zu kämpfen, indem er seine Adoptivmutter Martha Kent (Diane Lane) als Geisel an einem unbekannten Ort hält, in der Erwartung, dass Batman Superman mit seinem Kryptonit töten würde.
Superman versucht, mit Batman zu verhandeln und enthüllt, dass er seine Geheimnisse kennt, was zu einem Kampf führt, bei dem Batman Superman fast mit einem Speer aus Kryptonit tötet. Superman fleht Batman an, „Martha zu retten,” was auch der Name von Batmans verstorbener Mutter ist, und bringt Batman zur Vernunft. Er erkennt, dass Superman keine Bedrohung ist.
Batman eilt, um Martha zu retten, während Superman Luthor gegenübersteht, der ein monströses, künstlich gezüchtetes Wesen (Doomsday) mit kryptonischer Technologie auf dem abgestürzten Schiff freilässt. Superman und Batman kämpfen gemeinsam gegen das Wesen, und werden von der ankommenden Prince in ihren amazonischen Gewändern unterstützt. Doch das Wesen kann Energie absorbieren und weiterleiten und wird dadurch unzerstörbar.
Da sie wissen, dass ihre gemeinsame kryptonische DNA zu gemeinsamen Schwächen führt, holt Superman den Kryptonit-Speer und spießt das Wesen damit auf, während ihn das Wesen mit einem knöchernen Dorn sticht und scheinbar tötet.
Luthor wird verhaftet, nachdem Lane seine zahlreichen Verbrechen aufgedeckt hat. Batman besucht Luthor im Gefängnis, und Luthor prahlt, dass Supermans Tod die Welt für mächtige Bedrohungen verwundbar gemacht hat, über die er während der Manipulation der kryptonischen Schiffstechnologie gelernt hat. Batman droht Luthor und verspricht, ihn immer im Auge zu behalten.
In Metropolis wird eine Gedenkfeier für Superman abgehalten, und Clark wird ebenfalls für tot erklärt. Wayne, Lane, Martha und Prince nehmen an einer privaten Beerdigung für Clark in Smallville teil. Martha überreicht Lane einen Umschlag, der einen Verlobungsring von Clark enthält. Nach der Beerdigung enthüllt Wayne Prince, dass er plant, ein Team (die Justice League) aus den Wesen in Luthors Dateien zu bilden, um die Welt in Supermans Abwesenheit zu schützen. Später beginnt ein schwacher Herzschlag aus Clarks Grab zu hallen und die Erde um ihn herum beginnt zu schweben.
Oliver Trebes