Playing just his third game for the national team, Buddle scored in the fourth and 31st minutes. That offset a 19th-minute equalizer by Tim Cahill, who beat Everton teammate Tim Howard for his 20th international goal.
Gomez, like Buddle a surprise pick for the World Cup squad, entered in the 82nd minute and scored from 8 yards in injury time from a pass by Landon Donovan. It was the second international goal for Gomez, who also scored against the Czech Republic last week.
Marcus Hahnemann took over in goal for the Americans in the second half. He made a point-blank stop from Mark Bresciano in the 59th minute, and defender Steve Cherundolo stopped Scott Chipperfield's shot on the goal line in the 63rd.
The defense for the Americans was shaky against Australia, a cause for concern going into the June 12 World Cup match against England. Oguchi Onyewu, playing his third match since a knee surgery in October, didn't enter until the 61st minute, with Clarence Goodson starting in central defense with Jay DeMerit.
Jozy Altidore, who sprained his right ankle in training Wednesday, didn't play for the Americans, who paired Buddle at forward with Robbie Findley.
With the injured David Beckham looking on, the United States beat Australia for the first time in three meetings: a loss in 1992 and a draw six years later.
Australia, too, is getting ready for the World Cup, opening against Germany on June 13.
United States midfielder Clint Dempsey exchanged hugs before the game with Australia goalkeeper Mark Schwarzer, his Fulham teammate. Howard shook hands with Cahill. It was that type of friendly, a wide-open, entertaining match with few hard tackles.
Buddle, named by his father after Pele, scored his first goal after he took the ball from Vince Grella in the Australian end. Buddle moved one step inside the penalty area and sent a 16-yard shot over the left shoulder of Schwarzer. Before last week's game against the Czech Republic, Buddle's only national team appearance was 11 minutes as a substitute seven years ago.
Cahill leveled in the 19th minute from a corner kick by Luke Wilkshire. Carlos Bocanegra and DeMerit let Cahill escape unmarked, and he extended a foot to score from 6 yards.
But Buddle put the United States back in front in the 31st with a close-range header after Cherundolo ran down the right side, beat his man and crossed.
United States: Tim Howard (Marcus Hahnemann, 46), Steve Cherundolo, Jay DeMerit, Clarence Goodson (Oguchi Onyewu, 61), Carlos Bocanegra (Jonathan Bornstein, 55), Landon Donovan, Ricardo Clark, Michael Bradley, Clint Dempsey (Herculez Gomez, 82), Robbie Findley, Edson Buddle (DaMarcus Beasley, 78).
Australia: Mark Schwarzer, Luke Wilkshire, Lucas Neill, Craig Moore, Scott Chipperfield, Richard Garcia, Vince Grella, Tim Cahill (Carl Valeri, 46), Jason Culina (Dario Vidosic, 61), Mark Bresciano, Josh Kennedy (Nikita Rukavytsya, 71).
By AP Sports Writer Ronald Blum