VALENCIA, Spain -- Brawn GP's Rubens Barrichello won the European Grand Prix on Sunday to claim his first Formula One victory in five years.
The 37-year-old Brazilian took advantage of a costly pit-stop error by Lewis Hamilton's McLaren team to record his 10th career win -- his first since the 2004 Chinese GP -- and boost his championship hopes.
Hamilton finished second ahead of Ferrari's Kimi Raikkonen after having started the Valencia street race from pole position.
"It's going to be a good fight. But at least it's going to be a fair fight between ourselves," said Barrichello, who danced on the podium after pumping his fists wildly through the victory lap.
Hamilton, who also finished second at last year's race, looked set for a second straight win after having taken the Hungarian GP. But McLaren's mechanics fumbled when removing tire warmers during his final pit stop, which lasted 13.4 seconds, and the chance was gone.
"This is very, very rare that this happens," said Hamilton, who was called in with his fuel load running out before the team reconsidered too late. "The call was a marginal one, the team was pushing the envelope and it came just a little too late for me and the mechanics, who weren't perfectly prepared."
As Hamilton's exasperated father Anthony and pop star girlfriend Nicole Scherzinger looked on, Barrichello moved clear in front after his second stop and held on to win by 2.3 seconds.
"I was pushing like hell. A hard win, especially after five years, you don't forget how to do it but it's tough," Barrichello said after earning the 100th victory for Brazilian drivers in F1.
He dedicated his victory to Massa, who is recovering from lifesaving brain surgery after a loose part came off Barrichello's car and struck the Ferrari driver in the helmet at the Hungarian GP.
"This was an emotional one for me. He's such a good friend and I wish him the very best," said Barrichello, who had written "Felipe, see you on the track soon" across the top of his helmet.
Red Bull's championship hopes took a hit after both Sebastian Vettel and Webber finished out of the points.
Vettel withdrew for the second straight race, pulling out due to an engine failure near the halfway mark. Drivers are only allowed to use eight engines per season and the German has used six already, further complicating his title hopes.
"It's not good," Vettel said.
Webber led Button for most of the race but surrendered the seventh spot after the second round of stops to finish behind BMW Sauber's Robert Kubica.
Button, who won six of the first seven races but has finished no better than fifth in the past four, leads the overall standings with 72 points. Barrichello has 54, Webber 51.5 and Vettel 47. Brawn GP also increased its constructors' lead to 27.5 points over Red Bull.
Only Brazilians have won at the harbor-side track, with Massa winning from pole last year.
"The last 10 laps, everything came up in my mind," Barrichello said. "It was a tough one, but a fantastic one. People seemed to think that was it for me but I can show now that it wasn't."
Hamilton got out of the start unscathed, with Raikkonen the only mover after using his KERS overtaking system to pass Vettel and Button and move into fourth place behind Barrichello.
Button dropped into eighth spot before being overtaken by Webber after five laps. Button stayed on the Australian's tail and eventually moved ahead because of a poor pit stop by the Red Bull driver.
Badoer's return to F1 for the first time in 10 years was forgettable. The 38-year-old Italian spun out on the opening lap and was passed after leaving pit lane by Renault's Romain Grosjean, who finished 15th in his debut race.
Badoer, who stretched his record pointless streak to 49 races, had to perform a drive-through penalty for crossing over the pit-lane line and was eventually lapped by the leaders.