The Twins offense hasn’t been starved for production through the season’s first three weeks, scoring a healthy 5.2 runs per game and ranking third in the AL in on-base-plus-slugging percentage. But they’ve done it largely without run-scoring hits from their most heralded free-agent pickups.

On a cold, rainy Wednesday night at Target Field, that changed. Nelson Cruz drove in his first runs in more than two weeks, Marwin Gonzalez picked up his second RBI since Opening Day, and the Twins broke their two-game losing streak with a 4-1 victory over the Blue Jays.

Jake Odorizzi waited out a 54-minute rain delay before first pitch, then limited Toronto to nothing but singles, a half-dozen in all, over 5⅔ innings. Odorizzi struck out six and, after Justin Smoak drove in Freddy Galvis with a first-inning single, didn’t allow another Blue Jay to even reach second base.

Three Twins relievers pitched the final 3⅓ innings, and none of them let a Toronto runner advance past first base, either, a streak of 32 consecutive hitters who never reached scoring position.

“Our pitchers did a nice job [Wednesday] under some conditions that are not necessarily easy to throw in,” manager Rocco Baldelli said. Odorizzi, who reduced his ERA from 6.35 to 4.76, “didn’t let it bother him in any way. … He felt good, too, just watching him in the dugout.”

VideoVideo (02:03): Twins righthander Jake Odorizzi, whose four starts have all come in cold or rainy weather, says after Wednesday's 4-1 win over Toronto that he has learned how to deal with adverse conditions.

“I’m the bad weather guy this year,” joked Odorizzi, who pitched in damp weather earlier this month in Philadelphia and New York, too. “But today was pretty good. I guess I could say I’ve learned from previous mistakes. It’s a ‘just go out there, mind over matter’ sort of thing.”

The top of the Twins lineup, meanwhile, feasted on rookie righthander Trent Thornton, tagging him with three doubles and three singles over 4⅓ innings. Most notable was the identity of the hottest hitters: Cruz and Gonzalez, the Twins’ highest-paid players, who signed free-agent contracts over the winter. Cruz, a designated hitter who was sidelined for a week while the Twins visited National League parks, last drove in a run on April 2 — until he faced Thornton with runners on second and third in the first inning.

“My timing was off” after not playing for a week, Cruz said, “especially with fastballs. I had a little bit of trouble with fastballs.”

He seems over it now. Cruz singled and doubled Wednesday, driving in a run with both, and his first-inning line drive was hit so hard, only Max Kepler was able to score, with Jorge Polanco held up at third. Polanco scored when Eddie Rosario hit into a double play moments later.

Cruz, taking advantage of hitting behind one of the American’s League’s hottest hitters, struck again in the third inning. After Polanco led off with a double, hit 10th extra-base hit of the season, Cruz cracked a double of his own to left field, racking up another RBI.

And Thornton’s final run of the night was driven in by Gonzalez, the utility man who entered the game batting only .184. Cruz drew a walk off Thornton, and after Jays manager Charlie Montoya called upon righthander Elvis Luciano to relieve him, C.J. Cron walked, bringing up Gonzalez, whose ninth-inning home run Tuesday was his first run production since the season’s first game. Gonzalez lined a single to left-center, increasing the Twins’ lead to 4-1 and collecting only his fourth RBI of the season.

“He’s hitting the ball hard to the middle of the field,” Baldelli said. “When you see him driving the ball to the middle of the field, middle away, left-center field, you know he’s feeling good.”

Thanks to the daylong showers and mid-40s temperatures, the Twins set a new low in attendance on Wednesday. Only 11,465 bought tickets to the game, the smallest crowd in Target Field history. In fact, the stadium’s four smallest crowds have all come since Sunday.