Toronto entered the ninth tied 2-2 but had managed just four hits, including Adam Lind's first-inning two-run home run.
But with one out McDonald singled to center off Texas reliever Darren Oliver (1-2) and pinch-hitter Yunel Escobar chipped in a base hit that sent McDonald to third.
Patterson then executed a nice drag bunt to the right of the mound that allowed McDonald to score on the safety squeeze and Patterson also to reach base safely.
The Blue Jays loaded the bases with a walk and, after a strike out, Texas third baseman Adrian Beltre mishandled a ground ball -- his first error of the season -- allowed one run to score and another came home when the Rangers tried to get an out at second.
Frank Francisco (1-0) retired all four batters he faced -- three on strike outs -- for the win.
Toronto starter Brandon Morrow allowed single runs in the first and third innings. Beltre got the first RBI with a single and Michael Young the other in a sacrifice fly.