Michael Schumacher moved to within four points of the world championship lead with victory at the Spanish Grand Prix, but was made to work hard by Renault's Fernando Alonso.
Schumacher had parked Ferrari's F2003-GA at the front of the grid on its Grand Prix debut and led for most of the afternoon to claim his second consecutive race of the season.
But the German failed to produce the fireworks expected of the new Ferrari.
Instead, it was the home favourite who again lived up to his reputation as a world champion in the making.
Alonso briefly took the lead after the German's second pit stop and cut the deficit to just five seconds before having to make do with second place.
The Spaniard finished sandwiched between Schumacher and Rubens Barrichello on the podium for his highest ever finish in only his 21st Grand Prix.
1. M Schumacher (Ferrari)
2. F Alonso (Renault)
3. R Barrichello (Ferrari)
4. JP Montoya (Williams)
5. R Schumacher (Williams)
6. C da Matta (Toyota)
7. M Webber (Jaguar)
8. R Firman (Jordan)
Williams made some amends for a difficult weekend with fourth and fifth respectively from Juan Pablo Montoya and Ralf Schumacher.
Cristiano da Matta picked up Toyota's first points of the season in sixth, while Mark Webber did the same for Jaguar in seventh and Briton Ralph Firman put in his best performance so far to complete the top eight in his Jordan.
Schumacher's win cut the gap on championship leader Kimi Raikkonen by 10 points after the Finn crashed into the back of Antonio Pizzonia's Jaguar in a dramatic start.
Raikkonen, who started from last after failing to record a qualifying time, hit Pizzonia, who failed to get away because of launch control problems.
The accident brought out the safety car for five laps but not before Jarno Trulli and David Coulthard had clashed at the second corner, causing Trulli to spin out of the race from fourth place.
Coulthard returned to the track after a visit to the pits to change his tyres, while Schumacher and Barrichello were lucky to escape unscathed after touching wheels at the first corner.
After the restart, Schumacher pulled away with ease from his Brazilian team-mate for a lead he rarely looked like conceding, until Alonso found his way past Barrichello.
The Spaniard then gradually cut into the German's advantage before Schumacher lifted the tempo in the last 10 laps to secure a reasonably comfortable victory.
Coulthard's race, meanwhile, was shortlived as the McLaren team's misery was compounded when he touched with Jenson Button and spun into the gravel trap.
There was a second successive race retirement for Button's team-mate, Jacques Villeneuve, who was forced out on lap 13 with smoke billowing from his BAR.