The curveball — sometimes as slow as 69 miles per hour — was Jake Odorizzi's salvation on Tuesday night.

He was unable to harness much else for most of his outing at Target Field. He couldn't find the outside corner of the plate with his fastball. His other breaking pitches were unreliable. But he could spot the curve, and he went to it again and again. His slowest ones were thrown early in the count, and he could offer slightly harder ones once he had one or two strikes on hitters.

It enabled Odorizzi to hold the defending World Series champion Houston Astros to one run as the Twins won 4-1 in a game in which both starters needed GPS to find home plate.

"I think it was kind of game-changing," Odorizzi said of his curveball. "They took it a lot of the time. Get ahead, stay ahead. That sort of thing. When I have a good feel for it, I'll use it as long as I can."

Odorizzi gave up five hits and walked five batters during his six-inning stint, but avoided trouble to win his first game since being traded to the Twins during spring training.

"We talked about it after one-and-a-half innings. The good guys find a way to get through it," Twins manager Paul Molitor said. "And somehow he got through six even after struggling early."

Houston lefthander Dallas Keuchel's command was worse than Odorizzi's. The two combined to throw 109 outpitches in the first two innings of the game — 63 in the second inning alone. Each had to wiggle out of jams, with Odorizzi doing slightly better than Keuchel. They combined to walk nine batters.

The Twins beat Keuchel on May 2 of last year in their only meeting, and jumped to a 2-0 lead in the first inning against him Tuesday. Brian Dozier, who walked a career-high four times, was safe after a replay review when he led off the inning by beating out a slow bouncer to third. Joe Mauer followed with a walk. Eduardo Escobar, batting cleanup against the lefthanded Keuchel, drove in one run with a sacrifice fly.

Video (01:34) Righthander Jake Odorizzi shook off control problems to pitch six innings for his first win since being traded to the Twins

Robbie Grossman followed with a line drive that struck third base umpire Chad Fairchild in foul territory. Fairchild waved off any medical attention, and Grossman drilled the next pitch to left-center for a RBI double and a 2-0 Twins lead.

Odorizzi, meanwhile, played with fire. He walked the leadoff batter in each of the first three innings, and went to three-ball counts five times over the same time frame.

The leadoff walk to Josh Reddick in the second came back to bite Odorizzi, after Jake Marisnick drove Reddick in with a single to left. Mauer drew a bases-loaded walk in the bottom of the inning to give the Twins a 3-1 lead, and added an RBI single in the eighth.

The lead held up because of Odorizzi's ability to tap dance out of trouble. He stranded two in the second, two in the third and one in the fourth. In the fourth inning, Odorizzi decided to ditch the full windup and pitch out of the stretch. He was able to find more of a rhythm, throwing 34 pitches over his final three innings.

"Let's face it," he said. "I wasn't in the windup too much [Tuesday] anyway."

But Keuchel, the 2015 Cy Young winner, was a little worse. Keuchel was removed after throwing 101 pitches over four innings, the second consecutive outing he's failed to pitch at least five innings against the Twins.

"It's an ugly one," Odorizzi said. "But an ugly win is better than a good loss any day of the week."