After Edwin Encarnacion popped up, Toronto took a 6-5 lead on a sacrifice fly to center by Juan Francisco. It would have taken a strong effort by centerfielder Ben Revere, but his throw was well off the mark.
Asche saved another run in the 10th with a stab of a hard-hit Erik Kratz grounder and a strong throw to beat the former Phillie to first for the final out.
"I look at this as possibly a breakout game for him," manager Ryne Sandberg said of Asche. "He played some defense, swung the bat well, and he can build on that and feel good about that."
He was disappointed by the loss, but Asche was happy to contribute.
"It felt good to produce and help the team out any way I could," Asche said. "There have been a lot of games I haven't done that."
Asche, who was hitting as low as .191 on April 23, went 4 for 4 with four RBIs. The teams will play in Toronto on Wednesday and Thursday.
In four games this month, Asche is 7 for 14 with two home runs and five RBIs.
During the Phillies' opening-day, 14-10 win over Texas, Asche went 3 for 4 with four runs, a home run, and two RBIs.
After that, he failed to have a multihit game until Friday night, when he had two hits in a 5-3 loss to the Washington Nationals.
Asche said it was hard not to press when he was struggling.
"That is the nature of this game," he said. "There is a lot of mental turmoil that comes with a long season. The good ones weather the storm and get back to what they can do, and that is what I am trying to do."
Now he seems to have found his stroke; he has raised his average to .257.
The Phillies hadn't scored in 21 consecutive innings before they tied the score with five runs in the sixth.
The drought ended with Ryan Howard's RBI single to center, putting runners on first and second. After starter Drew Hutchison recorded two outs, John Mayberry Jr. pinch-hit for the struggling Freddy Galvis and drew a walk.
Galvis was 0 for 2 before being lifted and is now hitting .053 (2 for 38). He started for the second straight game for Jimmy Rollins, who tweaked his groin on Sunday and is listed as day-to-day. (Rollins pinch-hit in the ninth inning and grounded out.)
That brought up Asche, who hit his first career grand slam, to right field.
The Phillies bailed out Cole Hamels, who had his second subpar start in three games since beginning his season April 23 after returning from biceps tendinitis. Hamels allowed five runs (all earned). He surrendered 10 hits, including two home runs in six innings. His ERA is 7.02.
Encarnacion crushed a hanging Hamels change-up for a solo home run to left field in the second inning.
Toronto extended the lead to 4-0 in the fourth. Francisco knocked in the second run on a fielder's choice, and after Kratz popped up for the second out, Colby Rasmus drilled a two-run homer to right-center field.
In the sixth, Toronto went up, 5-0, on Steve Tolleson's RBI double.
BY THE NUMBERS
Hits by Cody Asche, including a grand slam.
Cole Hamels' ERA.
Freddy Galvis' batting average.