That ended Hamilton's ambitions before the first turn as he had to limp to the pits. The world champion later considered retiring but his crew told him via team radio that he had to drive on.
Webber had to swallow the drive-through penalty which cost him valuable time, but he remained in the frame because Barrichello was held up by the KERS-powered Massa for 11 laps until the Ferrari finally pitted in the 25th lap.
Barrichello latest hope of a first race win since September 2004 went up in smoke for good when refuelling on his second stop in the 31st lap went wrong and he had come in once more instead of driving the final 28 laps.
Webber was untroubled up front while both Brawns had a third stop in the closing stages which allowed Vettel into second place for Red Bull's third one-two of the campaign.
Nico Rosberg of Germany finished fourth ahead of the Brawns, ex-champ Fernando Alonso was seventh in a Renault and Heikki Kovalainen eighth in a McLaren-Mercedes.
The next race is the Hungarian Grand Prix on July 26.