![Brawn GP driver Rubens Barrichello of Brazil, bottom, drives his car ahead of Brawn GP Jenson...](https://www.odt.co.nz/sites/default/files/styles/odt_portrait_medium_3_4/public/story/2016/04/brawn_gp_driver_rubens_barrichello_of_brazil_botto_7308989244.jpg?itok=-aOb0JuW)
Button's two-stop strategy proved decisive as he became the ninth straight winner from pole position at the Circuit de Catalunya, even after Barrichello overtook him out of the start.
"I crossed the line first and this is a race where I didn't really think I was going to," Button said.
Barrichello's extra pit stop allowed Button to make up the difference, and the Briton won by 13 seconds to extend his championship lead over his teammate to 14 points after five races.
"I had the race in my hands and I was quite surprised when they told me they were switching Jenson to two (stops)," Barrichello said. "I would like to understand why they changed that."
Mark Webber finished third ahead of Red Bull teammate Sebastian Vettel, who trails Button by 18 points in third overall.
Webber overtook Vettel in the closing laps for his second top-three finish of the season after Vettel had finally passed Felipe Massa with four laps remaining following a battle between the two drivers throughout the 66-lap race.
Massa would eventually finish sixth - behind Renault's Fernando Alonso - as Ferrari remained without a podium finish for its longest opening period of a season since 1993.
BMW Sauber's Nick Heidfeld was seventh, while Nico Rosberg of Williams picked up the final point in eighth place.
Button leads with 41 points, Barrichello has 27 and Vettel 23.
Button is off to the most dominating start to a season since Michael Schumacher won the last of his seven titles for Ferrari five years ago.
"It gives me a lot of confidence for the rest of the season," Button said. "Even when times are tough, we've been able to get the wins. I feel on top of the world."
But it didn't look so certain early on.
Barrichello overtook Button on the outside to hit the lead, while Massa applied a boost of KERS to pass Vettel down the long straight into the first corner to sit third.
"I had a great start and went to the lead. I was running a tiny bit quicker than Jenson to begin with," Barrichello said. "Then they changed the strategy and I had to keep on pushing."
Barrichello stretched his lead over Button to nearly eight seconds after all the leaders had visited the pits. But then came the strategy change, which left both drivers a little puzzled.
"Initially, I didn't think it was a good idea," said Button, who called it one of his most aggressive drives. "That's not normally my style but it's the style I had to take on this race. Every lap was flat out."
But Barrichello's second stop - with 35 laps remaining - saw him return fourth behind Vettel, with Button opening up some distance before his second pit with 19 laps left.
Button was in front for good with 16 laps remaining when Barrichello, who was No. 2 to Schumacher at Ferrari for many years, pitted for the last time three laps later.
"My third set of tires was not good ... I couldn't keep my pace up," Barrichello said. "From there on it was a struggle, a big struggle to keep the car on the track. I then had to go flat-out. And I did, but I couldn't do anything better."
Defending champion Lewis Hamilton of McLaren finished ninth, while Ferrari's Kimi Raikkonen retired early with a mechanical problem soon after four cars exited following separate accidents after the first corner.
Heidfeld finished his 33rd straight race. The German's last retirement was at Indianapolis in 2007.
The next stop on the calendar is the Monaco GP.