"We had some chances, especially early on," Blue Jays manager John Gibbons said. "For three innings, we had them under [pressure], we just couldn't get that big hit."
Happ, who did not factor in the decision, threw five shutout innings of one-hit ball, striking out four and walking three.
"I do feel good out there for sure," Happ said. "I feel confident, and that's always a huge thing. I'll try to keep it rolling, and we'll try to bounce back."
The closest thing the Rays had to a rally against the veteran lefty came with two outs in the bottom of the third. Matt Duffy started things off with a walk. Jake Bauers lined a single to right to put men on second and third. Happ, however, was able to settle down and catch Willy Adames looking for strike three and get out of the inning. Happ allowed just one other baserunner through the first four innings after committing an error.
"[Happ] does what he does best," Gibbons said. "He just hangs in there and when he needs to make a pitch, he normally makes it. It doesn't happen all the time, but he seems to be the one guy that can always seem to do it. He battled and did pretty [expletive] good."
The Rays tried to manufacture a run in the fifth after Johnny Field led off the inning with a walk. Mallex Smith sacrificed Field to second with a bunt, and Jesus Sucre drew a walk, but Happ got Duffy to fly out to right and Bauers to ground out to second to keep the shutout intact.
It would be Happ's final inning due to an elevated pitch count, with 30 of his 98 pitches coming in the first inning.
"I've got to give credit where credit is due. I thought they did good job of fouling some good pitches off," Happ said. "I felt I was executing -- for the most part -- the game plan, and they made it difficult. Certainly, I'd like to go more than five innings, but I was happy to keep them off the board at the same time."
The Rays, who went without a traditional starting pitcher in each of the three games, shut down the Blue Jays' offense for a second straight day. Three relief pitchers, starting with Wilmer Font, combined for a five-hit shutout.
Tampa Bay finally broke the scoreless tie in the bottom of the ninth after Smith slapped a double to the left-center-field gap off Ryan Tepera. Smith would move to third on a groundout by Wilson Ramos to set up a walk-off single by Duffy.
MOMENT THAT MATTERED The Blue Jays weren't without scoring opportunities. Russell Martin led off the the second with a long fly ball to the warning track in right. Carlos Gomez bobbled it, allowing Martin to reach second.
Randal Grichuk followed with a walk to put two men on with no outs. Toronto couldn't capitalize, though, as Font induced a flyout by Diaz, and he got Gio Urshela to roll into an inning-ending double play.
SOUND SMART Curtis Granderson singled in his first three trips to the plate to finish 3-for-4. The 37-year-old outfielder is 10 for his past 16 during a current five-game hitting streak that improved his average from .213 to .253.
YOU GOTTA SEE THIS The Blue Jays wasted no time flashing leather on Wednesday. Duffy led off the bottom of the first inning with a looping fly ball down the right-field line. Grichuk had a bead on it the entire way, making a sliding catch through the Rays' bullpen for a quick first out.
HE SAID IT "We are [not good] down here and I have no explanation for it. That's just the way it is. I don't even think about it anymore." -- Gibbons, on the Blue Jays' woes at Tropicana Field
UP NEXT Toronto will have an off-day on Thursday before returning to action for a three-game set at Rogers Centre against the Nationals starting at 7:07 p.m. ET on Friday. Aaron Sanchez (3-5, 4.33 ERA) will open a series that could see the return of sluggers Josh Donaldson and Steve Pearce. Sanchez is coming off two solid starts in which he has gone at least six innings while allowing two runs or less. Washington will turn to Gio Gonzalez.
J. Scott Butherus is a contributor to MLB.com based in St. Petersburg.