MIAMI (AP) -- The Florida Marlins' new togetherness is leading to wins.
The Marlins have won a season-high six straight and 16 of their last 22 overall.
"We've bonded in here now, we are a team now," Olsen said. "We've come together as a team the last three, four weeks.
"It's getting to be a lot of fun," he said.
Uggla's two-run drive in the fifth gave Florida a 2-1 lead. Uggla hit Ty Taubenheim's first pitch over the wall in left-center for his 12th homer of the season and second in two games.
"It's not like we are banging out 15 hits a game, it's timely hitting and our pitching," Uggla said of his team's productive stretch.
Olsen (6-3) allowed one run, six hits and struck out eight, including Vernon Wells three times. He was also aided by three double plays.
"We saw something in [Wells'] first at-bat," Olsen said. "He was chasing sliders early. Until he stopped chasing them, we were going to keep throwing them."
Marlins manager Joe Girardi was impressed with Olsen's performance.
"People don't put a lot of good swings when he's ahead of the count," Girardi said. "There is a lot of deception."
Russ Adams walked and pinch-hitter Frank Catalanotto singled to start the eighth against Marlins reliever Carlos Martinez. But Martinez retired Alex Rios on a flyout to center and struck out Wells. Matt Treanor threw out Adams attempting to steal on Wells' strikeout, his fourth of the game.
"We had too many lost opportunities," Toronto manager John Gibbons said. "We had some opportunities we didn't cash in on."
The Blue Jays, who entered the game leading the American League with a .298 team batting average, stranded eight runners.
"He had good off-speed stuff, no one was picking up his changeup," Toronto's Aaron Hill said of Olsen. "That made it much easier for him."
Taylor Tankersley came in with a runner on first and two outs in the ninth. Lyle Overbay singled and Eric Hinske walked to load the bases before Tankersley retired Adams on a flyout for his second save in two opportunities.
Florida's Miguel Cabrera ended a 13-game RBI drought with his 10th homer leading off the sixth.
Toronto's Bengie Molina extended his hitting streak to 15 with a single in the second, the longest hitting streak of the season for the Blue Jays.
Troy Glaus led off the fourth inning with his 20th home run to give Toronto a 1-0 lead. Glaus hit Olsen's 1-0 pitch over the scoreboard in left-center field. Taubenheim (0-4) pitched six innings, allowing three runs and four hits with three strikeouts.
"We just got beat," Molina said. "They made the plays when they had to."
Olsen escaped trouble in the second when he struck out Overbay and got Hill to ground into a double play after allowing a leadoff walk to Shea Hillenbrand and Molina's single.
Taubenheim singled to lead off the fifth for his first major-league hit. ... Hanley Ramirez went 0-for-4 and is hitless in his last 24 at-bats. ... The Blue Jays are 0-4 in interleague games this season and 4-12 against Florida all-time.