After some tough outings, R.A. Dickey's knuckleball was back to doing the kinds of things that leave hitters walking back to the dugout shaking their heads.

Dickey scattered four hits over seven innings for his first victory in over a month, Jose Reyes homered and drove in three runs and the visiting Toronto Blue Jays ended a season-worst five-game skid Tuesday night with a 4-0 win over the Los Angeles Angels.

"I just wanted to keep them guessing, as far as the speed goes," Dickey said. "And the movement was very good. When it was leaving my hand, I could see visible that it was moving in multiple directions."

Dickey (7-8) struck out five and walked one after losing his previous four starts. The 2012 NL Cy young Award winner got back in the win column for the first time since beating the Tigers on June 4.

"It was rewarding because I've been going over some things in the bullpen," he said. "When you have a good game, you certainly want to rejoice over that and not get too far ahead of yourself."

Dickey allowed only two Angels to reach base through the first six innings. He gave up a one-out single to Erick Aybar in the second and a walk to Chris Iannetta two batters later before retiring Collin Cowgill on a flyball to end the threat.

"I thought they would be a pretty patient team, not having seen the knuckleball this year at all. And they were. So I wanted to have a knuckleball that I could depend on for strikes," the 39-year-old right-hander said. "I tried to throw as many first-pitch strikes as I could — at least one of the first two pitches. That 74-mile-an-hour knuckleball was kind of my strike knuckleball tonight."

Cowgill was the first of 12 consecutive outs for Dickey before Mike Trout doubled to left field with two outs in the sixth and was thrown out at third by Melky Cabrera.

The Blue Jays climbed within 2½ games of the AL East-leading Baltimore Orioles, who were rained out at Washington. They also snapped a seven-game road losing streak and ended the Angels' 11-game home winning streak, which fell one shy of the franchise record set in 1967.

Tyler Skaggs (4-5) gave up three runs and 11 hits over 6 2-3 innings in his second start off the disabled list, after missing 23 games because of a right hamstring strain. The left-hander, pitching at Angel Stadium for the first time since May 20, is 0-4 with a 4.18 ERA in his last five starts overall.

"I thought I threw the ball really well," said Skaggs, who beat the Blue Jays 5-3 on May 10 at Toronto. "When I faced them the last time, they were swinging early — and they kept swinging today. They swung the bats a lot better than I've seen them in the past, and they put together good at-bats."

Nolan Reimold, acquired Sunday off waivers from Baltimore, made his second start in right field as Jose Bautista remained at first base for the injured Edwin Encarnacion. Reimold doubled his first two times up.

Reyes opened the scoring in the fifth with an RBI single that snapped Toronto's 0-for-25 drought with runners in scoring position.

Reyes increased the margin to 3-0, driving Skaggs' 100th pitch into the left field bullpen with two outs in the seventh after a single by Munenori Kawasaki. Darin Martroianni added an RBI single in the eighth.