Der Mexikaner siegte beim Nachtrennen vor den beiden Ferrari von Charles Leclerc und Carlos Sainz.
Damit wurde die WM-Entscheidung um mindestens eine Woche hinausgezögert. Weltmeister Max Verstappen belegte auf dem engen Stadtkurs nur den siebten Platz und nutzte seine erste Chance zum vorzeitigen Titelgewinn nicht.
Die nächste Möglichkeit bietet sich dem 25 Jahre alten Niederländer in einer Woche im japanischen Suzuka.
Wegen heftiger Regengüsse war das Rennen in Singapur mit mehr als einer Stunde Verspätung auf immer noch sehr nasser Strecke gestartet.
dpa/sp/dop