The 29-year-old Brawn GP driver's success dashed Toyota's [ Images ] hopes of a breakthrough first win after the Japanese manufacturer had started with both cars on the front row for the first time.
Button, with four career wins, now has 31 championship points to Brazilian team mate Rubens Barrichello's [ Images ] 19 and Vettel's 18.
"To come away with the win, at this point in the season, I am chuffed to bits," said the Briton, who overtook McLaren's [ Images ] world champion Lewis Hamilton [ Images ] on the second lap after his compatriot had powered past at the start.
"That move really made the race for us," he told reporters. "I had to make it stick and I did. This win for us is probably the best of the lot."
Trulli sounded deflated.
"I'm a little bit disappointed because I was waiting for the first win for Toyota," said the Italian. "Let's wait to fight again for the next race."
Champions Ferrari [ Images ] finally opened their account with 2007 world champion Kimi Raikkonen [ Images ] finishing sixth for the Italian team's first points of the year despite colliding with Brazilian team mate Felipe Massa [ Images ].
"For sure it is a breath of air that we needed at this moment with the pressure that we have," said team boss Stefano Domenicali. "But we need to keep our feet on the ground. It was the minimum that we should have done today."
Hamilton, whose team could receive a heavy punishment at a hearing in Paris on Wednesday for lying to stewards at the Australian season-opener, took fourth place after crucially keeping Vettel behind him while Button was pulling away.
"This is just another good boost for the team, for morale, to keep pushing so we can get back to the front," said Hamilton.
Barrichello was fifth, ahead of Raikkonen, with Toyota's Timo Glock [ Images ] seventh and Renault's [ Images ] double world champion Fernando Alonso [ Images ] taking the final point on a hot afternoon with air temperatures around 35 degrees Celsius.
Alonso was suffering from dehydration as he got out of the car after his drinking pump failed during the race.
Glock, lighter on fuel than his team mate, made the quicker start and led for the first 10 laps before pitting and handing over to Trulli.
Button led for the first time in the race on lap 13, allowing Vettel and then Raikkonen to take brief turns at the front when he pitted, but was clearly in control for the final third of the race.
"We're going back to Europe with some very good points. Let's do it again in Barcelona [ Images ]," said Button, who had started fourth. The Spanish Grand prix is next on May 10.
BMW-Sauber, who had hoped to be challenging for the title this season, had a dismal afternoon at the circuit that brought them their first pole position last year with Poland's Robert Kubica [ Images ].
Both cars suffered early collisions and were lapped just after the halfway mark, with Kubica 18th and Germany's Nick Heidfeld [ Images ] the last finisher in 19th place at the chequered flag.
Williams's Japanese driver Kazuki Nakajima [ Images ] was the sole retirement.