Los Angeles (37-37) had lost its past seven opportunities to return to .500 for the first time since being 8-8 on April 15.
"That's a huge hurdle for this team," Skaggs said. "Hopefully we can keep rolling."
Skaggs (6-6) went a season-best 7 1/3 innings. He allowed a run and three hits, walked none and struck out six to win consecutive starts for the first time since beating Kansas City on April 26 and Toronto on May 2.
"Clearly his best outing of the year, possibly our best start of the year," manager Brad Ausmus said.
It was the second time this season that Skaggs didn't issue a walk. He also did it April 12 against the White Sox.
"Tonight he was just attacking the zone with all of his pitches," catcher Kevan Smith said. "He trusted all of them and you saw the results."
Luis Rengifo had two hits as the Angels remained unbeaten in five meetings with the Blue Jays this season. Los Angeles has won 17 of 23 games in Toronto.
Lourdes Gurriel Jr. homered for the Blue Jays, who have lost six straight at home for the first time since May 12-20, 2018. Toronto (26-47) is a season-worst 21 games below .500.
Skaggs retired his first 11 batters before Gurriel hit a two-out homer in the fourth. The shot was his eighth in 23 games since being recalled from Triple-A Buffalo on May 24.
Calhoun tied it with a drive off the right field foul screen to begin the fifth, his 16th. Two outs later, Goodwin connected to put the Angels in front. The homer was Goodwin's seventh.
Both homers came off right-hander Marcus Stroman (4-9), who allowed two runs and four hits in seven innings. Stroman has lost three of his past four decisions.
"He was really good," manager Charlie Montoyo said. "Just a couple mistakes today against a good lineup."
Calhoun also homered in Monday's 10-5 win for the Angels. He's gone deep three times in five games against Toronto and has 10 career homers against the Blue Jays, more than any other non-division opponent.
"That's a big change," Ausmus said. "Could be, potentially, a game-changing play."
Tim Mayza replaced Stroman after Smith reached on an infield single to begin the eighth. Mayza struck out pinch-hitter Justin Upton, and Rengifo singled before Tommy LaStella made it 3-1 with an RBI groundout.
Angels: SS Andrelton Simmons (left ankle) was scheduled to play five innings at rookie-level Orem on Tuesday, with by a seven-inning stint on tap Wednesday. ... Upton was held out of the starting lineup but hit for Goodwin in the eighth. Upton returned to the lineup Monday after being out since March because of turf toe on his left foot.
Blue Jays: 1B Justin Smoak (left quadriceps) and RHP Edwin Jackson (strained lower back) were placed on the 10-day injured list. Toronto recalled OF Billy McKinney and RHP Justin Shafer from Triple-A Buffalo. ... OF Teoscar Hernandez, who left Monday's game because of a sprained left wrist, was held out of the lineup and is day to day. Hernandez was injured when he crashed into an unpadded section of the outfield fence while trying to make a catch.
THREE OF A KIND
The Angels won for the third time this season when scoring three or fewer runs.
The Blue Jays have scored two or fewer runs in 12 of Stroman's 16 starts, and have failed to score at all in seven of his outings.
Toronto is 0-6 when the roof at Rogers Centre is open.
Angels: LHP Andrew Heaney (0-1, 4.57) is winless in four starts since being activated off the injured list. Heaney missed the first 51 games of the season because of a sore elbow.
Blue Jays: RHP Aaron Sanchez (3-8, 5.04) has lost seven straight decisions since beating Oakland on April 27. He's 1-4 with a 3.42 ERA in five career games against the Angels.
More AP MLB: https://apnews.com/MLB and https://twitter.com/AP-Sports
Strasburg hits and pitches Nationals to 13-4 win over Braves
Stephen Strasburg had a three-run homer among his three hits and set a franchise-record for a pitcher with five RBI, as the surging Washington Nationals beat the Atlanta Braves 13-4 on Thursday night.
Cone throws out 1st pitch on perfect game anniversary
David Cone throws out the first pitch at the Yankees game on the 20th anniversary of his perfect game.
Yankees take the lead on a bases-loaded balk
Charlie Morton balks with the bases loaded, which scores Austin Romine and gives the Yankees a 2-1 lead in the sixth.
Edman's grand slam lifts Cardinals over Reds 7-4
Tommy Edman snapped a sixth-inning tie with his first career grand slam and the St. Louis Cardinals beat the Cincinnati Reds 7-4 Thursday night for their fifth win in six games.
Bauer strikes out 10, Indians win 11th straight over Tigers
Trevor Bauer struck out 10 in 6 2/3 innings, Jose Ramirez hit a go-ahead home run in the sixth and the Cleveland Indians beat the Detroit Tigers for the 11th straight time, 6-3 on Thursday night.
Dodgers return to L.A. to face Marlins
Done with the rigors of the road, for now anyway, the Los Angeles Dodgers will return home Friday night to face both the Miami Marlins and a familiar concern: a bullpen that has been the weak link in an impressive season.