ST. PETERSBURG, Fla. -- Josh Towers ended his skid in strong fashion.
"I tried not to think about it," Towers said. "Getting that far without a hit was amazing."
Towers (6-7) allowed just one runner through six innings, hitting Nick Green with a pitch in the third, then gave up Aubrey Huff's single to left with one out in the seventh.
"After the fifth inning, everybody got a little quiet," Towers said. "They started to clear out of my area. I wasn't thinking no-hitter. I just wanted to put up zeros."
Towers, 0-6 in his previous seven starts since winning at Minnesota, gave up one run and two hits in seven innings, struck out a season-high seven and walked one. Five of the strikeouts were called.
Coming in, opponents were batting .301 against him.
"He was throwing strikes and locating ... that's for sure," Tampa Bay manager Lou Piniella said. "He was ahead of all our hitters. Outside of that, I didn't see anything overly special. But he knows how to pitch, give him credit. He does throw strikes, he does change speed and he does locate the ball. I guess those are a lot of positives."
Scott Downs and Justin Speier completed the four-hitter.
Rookie Russ Adams homered and drove in a career-high five runs for the Blue Jays (40-39), hitting a three-run homer in the second off Mark Hendrickson (3-5) and a two-run double in the eighth against Trever Miller.
Hendrickson allowed six runs -- five earned -- and six hits in three innings.
"It wasn't a good day all around," Hendrickson said. "I'm trying to find a little more consistency in executing pitches the way I want to. Even in my wins this year, I've been struggling to really lock in and have everything work for nine innings."
Jonny Gomes hit a sacrifice fly in the seventh for the Devil Rays (27-52), who fell to a season-worst 25-games under .500. Tampa Bay was 40-39 after 79 games last season en route a franchise-record 70 wins.
"He was throwing three, four pitches for strikes," Gomes said of Towers.
Tampa Bay scored just 14 runs during a homestand in which it lost five of six, including a 3-1, 11-inning defeat against Toronto on Tuesday.
"Last night was a tough loss," Piniella said. "It carried over today, I guess."
Tampa Bay lost by nine or more runs five times in June.
Gregg Zaun's two-run double and Adams' homer to put the Blue Jays up 5-0 in the second. Adams had been 2-for-16 against left-handers this season.
Vernon Wells extended his hitting streak to eight games with a third-inning solo homer, and Shea Hillenbrand hit a two-run double in the seventh off Lance Carter to make it 8-0.
Tampa Bay scored twice in the eighth, loading the bases before Downs hit Cantu with a pitch and Speier walked pinch-hitter Eduardo Perez.
- Tampa Bay 1B Travis Lee picked up his second error in 10 games when he misplayed Eric Hinske's grounder in the second. He had a streak of 170 consecutive errorless games -- eight short of the AL record for a first baseman -- before his error June 19.
- Wells was hitless in 11 at-bats against Hendrickson before his third-inning homer.
- Huff played in right field for the first time since bruising his right knee last week. He was the DH the previous two games.
- Blue Jays 1B coach Ernie Whitt helped security guards stop a fan who had run onto the field. "I didn't know what his intentions were," Whitt said. "I wouldn't go out of my way to stop him. He ran for me and I got him. I just put an end to it right away."