Ollie Rathbone scored the winner to earn Rotherham a 1-0 victory over Stoke at the bet365 Stadium.
Rathbone struck in the sixth minute, but the Millers were indebted to goalkeeper Viktor Johansson for ending a five-game winless streak against the home side stretching back to 2005.
Rotherham’s only away win this season came via a 2-1 Carabao Cup success at City’s neighbours Port Vale back in August.
And the Potteries was again a happy hunting ground for Rotherham and Rathbone, who curled in from 18 yards.
City were down to 10 men defending the preceding corner with 40-year-old Phil Jagielka off the field after treatment for a head knock.
Rathbone had scored only once before this season – the first of United’s two at Vale Park.
The former Manchester United youth-team player was presented with a second shooting chance but skied his attempt from 20 yards.
Stoke, stung into action and bidding for a third consecutive victory, fashioned plenty of chances to find an equaliser.
Instead, Johansson regularly frustrated the hosts. The Swede’s hand swept the ball off Tyrese Campbell’s toe after Dwight Gayle’s pass created the one-on-one chance.
Johansson then thwarted Tariqe Fosu and Morgan Fox while Liam Delap, restored to the side in place of injured Will Smallbone, headed straight at the keeper from eight yards from Fosu’s centre.
And it was the same scenario in first-half stoppage time after a strong run but weaker shot by Manchester City loanee Delap.
Five minutes into the second period and Delap again could not generate enough power to trouble busy Johansson.
When he finally failed to get gloves on a deep Fox cross Wes Harding headed off the line from Delap. Rotherham were defending deep and in numbers to preserve their advantage.
With 20 minutes remaining Delap and Gayle made way for Nick Powell and Jacob Brown. The onslaught continued and Campbell, who netted a classy goal in last Saturday’s win at Preston, headed wide when it looked easier to score.
Stoke continued to pour forward but there was no finding a way past Johansson who saved his best until last.
Substitute Jordan Thompson thought his stoppage-time header was goal bound until the keeper tipped the ball away to safety to earn Rotherham a gritty win and 10th place in the Championship.