From third on the grid, Fernando Alonso produced a supreme performance to cross the finish line of the Chinese Grand Prix over 10 seconds ahead of second place Kimi Raikkonen.
Lewis Hamilton held off a dramatic late surge from Sebastian Vettel, who chased the British Mercedes driver right up until the final lap. Lotus’s Raikkonen finished ahead of both of them despite damaging his front wing in an incident with McLaren’s Sergio Perez.
It means that Vettel’s championship lead has been cut to just three points as Formula 1 heads to the fourth race in Bahrain.
This was Alonso’s first win of 2013, and the margin of victory underlines Ferrari’s vastly improved performance compared with this time last year.
Jenson Button took one pit stop fewer than his rivals, but McLaren’s continuing lack of speed meant he could still only finish in fifth, one place ahead of second Ferrari driver Felipe Massa.
Vettel’s Red Bull teammate Mark Webber had no chance to right the wrongs of Malaysia three weeks ago as he was forced to retire after 15 laps when one of his wheels fell off.