Blue Jays starter R.A. Dickey, making his second start of the spring, worked five innings and held the Astros to three singles and no runs while throwing 82 pitches, including 52 strikes.
Astros starter Rudy Owens recovered from his rocky first outing of the season by throwing three scoreless innings, allowing one hit and one run while striking out two batters. Owens, battling for a rotation spot, worked in improving his tempo after a rough first start last week.
"I needed a big day today," Owens said. "I needed to show up, and I did. I'm happy that they're letting me start games. This is my first year actually being able to throw in a game to start, and it feels pretty good. It's comfortable. I'm not used to throwing out of the bullpen."
The Blue Jays took a 2-0 lead against Astros reliever Anthony Bass in the sixth. Jose Bautista doubled to start the inning, and he scored one out later when Moises Sierra shot a grounder inside third base and wound up with an RBI double. Sierra scored on Kratz's single.
The Astros answered in the bottom of the inning when Jason Castro launched a towering two-run home run to right field. It was the first homer of the spring for Castro, who is beginning to find his groove after starting 0-for-10 at the plate.
"I felt like we played a complete game today. Good pitching, good defense, timely hitting," Porter said. "Marwin with the big double late in the game, [and] I felt like the pitchers did a good job with the tempo and attacking the strike zone. It was good to see a clean game."
Up Next: The Blue Jays are off on Monday before getting back to action at 1:05 p.m. Tuesday in a Gameday Audio broadcast against the Tigers in Lakeland, Fla. Right-hander Marcus Stroman will start that game for Toronto in his third outing of Grapefruit League action.
Brian McTaggart is a reporter for MLB.com and writes an MLBlog, Tag's Lines. Follow @brianmctaggart on Twitter. This story was not subject to the approval of Major League Baseball or its clubs.