Lewis Hamilton of Mercedes took a comfortable first win of the Formula One season in Sunday's Chinese Grand Prix while Sebastian Vettel and Max Verstappen won the battle of the chasing pack to complete the podium.
Hamilton converted from pole position as he was unaffected by both virtual and real safety car phases in the early running of the 56-lap race around the 5.451-kilometre Shanghai International circuit.
Ferrari's Vettel held onto his second position, 6.250 seconds behind, without having threatened the win while Verstappen's third completed a remarkable run from 16th in his Red Bull after a software problem hampered his qualifying.
Hamilton and Vettel are now tied for the lead, 43 points apiece, in the drivers' championship after a reverse of the result from the opening Australian GP. Mercedes lead Ferrari in the constructors' standings 66-65.
"It's going to be one of the closest (title fight), if not the closest one I've experienced," Hamilton said on the podium. "Ferrari have done a great job and it is great that we are both pushing.
"It was tough for all of us today. Big thanks to this team - my own staff and the team back in the factory. This race is so real and exciting and we were matching times so if there wasn't [a] safety car it would have been a lot closer."
Valtteri Bottas finished sixth in the other Mercedes, having started third after an error under the safety car, while Vettel's team-mate Kimi Raikkonen was fifth.
The Shanghai track was wet before the start of the race but drying out quickly it gave teams ample scope to consider strategy, even if a normal start was possible.
Hamilton got away cleanly and Vettel, who went unpunished for starting slightly out of position on the grid, had to fend off Bottas.
Red Bull's Daniel Ricciardo passed Raikkonen but further down the field Lance Stroll beached his Williams after colliding with Sergio Perez's Force India, causing a virtual safety car. Vettel immediately headed to the pits for what proved to be an unnecessary stop.
"The safety car came just as I was about to start to feel the dry tyres were a lot quicker but then I had a very exciting race," Vettel said. "I was stuck in the train for a little while but then tried to chase down Lewis Hamilton. It was a good match. It was good fun."
As that phase looked like ending, Sauber's Antonino Giovinazzi repeated his final corner crash from qualifying on lap four to cause a real safety car phase and with the cars forced to go through the pit lane, the leading figures all changed to soft rubber from intermediates.
Bottas slid his car attempting to keep the tires warm and when the safety car pulled in, Hamilton led from Ricciardo, Verstappen, Raikkonen and Vettel with the top five separated by less than a second.
Verstappen passed the slow Ricciardo but the weaker Red Bull succeeded in holding off the Ferrari pair for several laps, allowing the front pair to move clear.
Vettel finally got past Raikkonen, who had complained of car trouble, on lap 20 and two laps later beat Ricciardo with a thrilling move on the outside of turn six.
"I was getting angry behind the train, I felt I could go faster in these conditions so I felt I had to try it on Daniel Ricciardo," Vettel explained. "On the exit I was a bit compromised, I had my elbows out, he really squeezed me, but good fun."
He was then gifted a place by Verstappen locking up and the Dutch teenager promptly pitted for tires.
Ferrari pitted Vettel on lap 35 and Hamilton, who had been considering a long run to the end, soon responded with new tires of his own. He emerged three seconds ahead of Raikkonen and had little difficulty seeing out the 54th win of his career and fifth in China.
Raikkonen pitted again to move team-mate Vettel up to second with the Red Bulls of Verstappen and Ricciardo behind him.
"It was a very challenging race but I really enjoyed it. I think I overtook nine cars in the opening lap so it was a very good race for me," Verstappen said.
Bottas fought back to sixth following his mistake while Carlos Sainz (Toro Rosso), Kevin Magnussen (Haas), Perez and Esteban Ocon (Force India) also gained the points.
Romain Grosjean (Haas), Nico Huelkenberg, Jolyon Palmer (both Renault) Felipe Massa (Williams) and Marcus Ericsson (Sauber) all finished without scoring.
McLaren endured another miserable race as neither Stoffel Vandoorne nor Fernando Alonso finished, and Daniil Kvyat also failed to get his Toro Rosso to the end.
The next race is the Bahrain Grand Prix on April 16.