"Their kid just didn't make any mistakes today," said Mariners manager Eric Wedge, whose team had scored 45 runs its previous four games.
On the flip side, Millwood rolled out his shortest outing of the season, allowing four runs on seven hits, five walks, a hit batter and wild pitch in four innings. The 37-year-old right-hander is 3-5 with a 3.90 ERA.
"Once again, I wasn't locating my fastball very well," said Millwood, who went just five innings in his previous start in Texas. "For the most part, I was able to keep the ball on the ground anyway. But they just found some holes and I walked too many guys. I just wasn't able to make pitches when I needed to."
With Brandon League and Tom Wilhelmsen unavailable due to extensive recent use and long man Hisashi Iwakuma having racked up two saves in the previous three games, Wedge brought in a parade of middle men to fill the gap.
Rookie Stephen Pryor, who made his Major League debut on Saturday, threw a scoreless fifth with one hit and two strikeouts, his fastball registering 95-96 mph through his 17-pitch inning.
The big 23-year-old said it was the first time he'd thrown back-to-back games since last July in the Minors.
"My arm was a little tighter, but I knew I had to go in and do the same things as far as throwing strikes, getting ahead of hitters and give myself a chance," he said.
Fewer jitters this time out?
"Definitely," Pryor said. "I felt like I wasn't holding my breath out there."
Fellow rookie Lucas Luetge shut out the Sox in the sixth and seventh innings, his first stint longer than 1 2/3 innings. He's yet to allow an earned run in 20 appearances, a club record for a pitcher starting his career.
Luetge, a Rule 5 Draft pick, welcomed the opportunity to be more than just a left-handed specialist pitching to one or two batters.
"It lets you kind of redeem yourself if something goes wrong," he said. "The other day I came in to face [Adam] Dunn and walked him and that's all I could do. Today I walked a couple guys, but was able to get the next guy out and get myself out of the jam."
Shawn Kelley pitched a perfect eighth with two strikeouts, keeping the Mariners within striking distance again at 4-2.
But the Mariners' offense managed only a two-run home run by Miguel Olivo in the second inning off Sale. Olivo's 448-foot blast, following a leadoff walk by Justin Smoak, was the second longest of the year by the Mariners, four feet shy of Michael Saunders' 452-foot shot in Toronto in April.
"It's been awhile," said Olivo, whose last long ball came April 30 when he'd hit three in five games before going on the disabled list the following day with a strained groin.
The Mariners had just three hits until Jesus Montero and Dustin Ackley singled in the ninth. But Montero was wiped out on a double play and Sale finished things off by striking out Olivo in a nine-pitch battle that brought his final pitch count to 119.
"Physically, I feel better and better every time out," said Sale, who struck out eight with just two walks. "Pitching is so much about finding grooves. I've been fortunate to be able to find that groove and let it go."
That was something Millwood never managed as his control wandered from the get-go. The veteran gave up a single and walked three batters in the second to force in his first run.
The White Sox scored again in the third when Millwood walked Dunn, hit Dayan Viciedo in the wrist and then gave up a run-scoring single to Alex Rios, though he got out of that frame with a strikeout and double-play grounder, leaving the score tied at 2.
But Millwood could only pull off so much damage control and the White Sox got him for two more in the fourth when he gave up a walk and four singles. The second run came on a bases-loaded grounder by Rios that glanced off Millwood's heel. Brendan Ryan bare-handed the deflection, but couldn't quite get Rios at first.
"I thought it was going up the middle and stuck my foot out and I guess misdirected it a little too much," said Millwood. "But that's another situation where I was able to get the ground ball, just in a bad spot."
And that's the kind of day it was for the Mariners, who fell to 24-32 and head to Anaheim for the final series on this nine-game trek against three of the AL's hottest teams.