Joe Mauer received a scheduled day off Saturday. If anything was scheduled, it was for Mauer to avoid facing Rangers lefthander Cole Hamels, against whom he is 0-for-12.

Miguel Sano was already on the bench after being hit with a pitch in the left hand for the second time in under two weeks.

Mauer and Sano probably are the Twins' two best hitters, considering the deep counts that Mauer usually ends up in and the imposing power figure Sano is in the batter's box.

And when both aren't in the lineup? Well, you saw what happened on Saturday.

Rangers lefthander Cole Hamels eased his way through a revised Twins lineup in a 4-1 Texas victory at Target Field.

Hamels was the epitome of efficiency. He enjoyed a five-pitch second inning and a six-pitch seventh and entered the eighth with a Greg Madduxian 69 pitches thrown. He finished with 96 pitches, 64 for strikes.

Hamels made it look easy, but Twins manager Paul Molitor stopped short of tipping his cap to him.

"I'm not big on tipping my cap, to be honest with you," Molitor said. "You won't hear me use that phrase very often. There are very talented people in this game.

"He did what he had to do to throw a complete game with a minimal amount of pitches. We just didn't square many balls up. Even some of the hits we had weren't particularly sharp."

Hamels gave up just four hits and a walk while striking out five. He retired 14 of the final 15 batters he faced to notch the 16th complete game of his career, and his first since Oct. 4, 2015. Hamels, 6-1, missed nearly two months earlier this season because of an oblique strain.

He entered the game with a career 6.35 ERA against the Twins, the highest of any opponent he has made at least six starts against. But he beat the Twins on April 26, giving up one earned run over 6⅔ innings. Perhaps he has figured the Twins out.

"Probably has a good memory," Molitor said.

Molitor, with a three-man bench turned into two because of Sano's hand injury, had few options for the starting lineup. He batted Eduardo Escobar third on Saturday. Chris Gimenez started in the cleanup spot for just the second time in his career.

Lefthanded hitters Eddie Rosario and Max Kepler had a tough matchup with Hamels, who entered Saturday holding lefthanded hitters to a .185 batting average.

The Twins' only run was scored in the fifth, when Byron Buxton singled, stole second, took third when catcher Robinson Chirinos' throw went into center field and raced home when Ehire Adrianza — the first baseman on Saturday — bounced out to first.

Twins righthander Kyle Gibson (6-9) delivered an uneven performance in his latest effort to prove to the organization that he can be part of the future rotation. In 5⅓ innings, Gibson gave up three runs, seven hits and two walks with four strikeouts.

Nomar Mazara hit a two-run homer in the first off Gibson to open the scoring. Chirinos' sacrifice fly in the second made it 3-0.

Gibson kept the Rangers off the scoreboard for the rest of his outing, but the early damage held up while Hamels dominated the 95th different lineup crafted by Molitor this season.

"He was on tonight," Gibson said of Hamels. "Look at the cutter, changeup combo that he had. He kept our guys off balance and did a good job."