Tim Hudson (16-10) pitched into the sixth for the Braves, who had lost eight of their previous 12 games.
The victory increased Atlanta’s lead in the NL wild-card standings to three games over St. Louis, which lost to the Chicago Cubs 5-1 on Friday.
Uggla finished with three hits and two RBI, including a run-scoring single while Strasburg (0-1) labored at the outset of the game, which began 14 minutes late because of rain. The right-hander, coming back from reconstructive elbow surgery, allowed four hits in an inning for the first time in the majors, according to STATS LLC.
Strasburg needed 38 pitches – spread across 18 minutes – to get through the top of the first. He faced eight batters and gave up three runs, two earned.
After striking out leadoff hitter Michael Bourn swinging, Strasburg allowed consecutive singles to Martin Prado, Chipper Jones and Uggla, who made it 1-0. Strasburg then struck out Brian McCann swinging at a 97 mph fastball before Freddie Freeman delivered an RBI single.
Jack Wilson then hit a sharp grounder to third baseman Ryan Zimmerman.
The ball bounced off Zimmerman’s right wrist, between his legs and trailed off into left field for a fielding error that scored Uggla, making it 3-0.
With runners at second and third, Jason Heyward drove a 95 mph pitch to the warning track in straightaway center to end the inning. Strasburg settled down from there, retiring 10 of the last 11 batters he faced.
Collin Balester replaced Strasburg for the fifth.