Match ends, Bristol City 2, Rotherham United 0.
Goals from Tommy Conway and Scott Twine gave Bristol City a comfortable victory over relegated Rotherham, who will end the season without a single away win.
Conway scored with a first-half penalty after being brought down by keeper Dillon Phillips - the forward's 12th goal of the season.
And Twine sealed the Robins' win with a sweetly-struck free-kick 12 minutes into the second half.
Twine almost added a third but was unable to apply the finish to Nahki Wells' cross.
Rotherham, whose relegation was confirmed earlier this month, continue to struggle badly away from home.
It is the first time a team in England's top four divisions has completed a league campaign without an away victory since the Yorkshire club failed to win on the road in 2016-17, when they were also relegated from the Championship.
The two goals conceded also meant they became the first side in the top four divisions to ship 60 or more away goals during a season since that Rotherham team of 2016-17, which shipped 64.
The Millers have won just one of their past 21 matches and have failed to score in both their two games since Steve Evans' recent return as manager.
Evans led the club from the bottom division to the Championship during his first spell in charge and has insisted that they will challenge for promotion from League One next season. But a major rebuilding job is clearly required.
City's win moved them up to 11th in the table and they are now unbeaten in seven matches.
Rotherham, meanwhile, are 21 points behind second-from-bottom Huddersfield.
Bristol City head coach Liam Manning told BBC Radio Bristol:
"I thought it was a solid performance from start to finish. We had control and created really good chances. I'm delighted to get the win and clean sheet.
"We set the players a challenge going into the final eight games - really pushing to build momentum for next season and trying to develop some strong habits. You're starting to see that come out.
"It's about making sure that every time we turn up, we're at our maximum and you can really see the group are growing and moving forward.
"We'll finish higher than last season with more points. The bit we're chasing is consistency.
"In the summer we need to add the right ones and it hopefully allows us to progress next season."
Rotherham manager Steve Evans told BBC Radio Sheffield:
"They got a penalty for what looks like a dive. I think the boy (Conway) has just overrun the ball.
"That first goal gives them a lot of momentum and probably makes our boys nervy not to concede three or four goals, which has probably been semi-normal.
"I thought the performance was very workmanlike. We showed lots of energy and industry. But they were by far the better side.
"I'm really disappointed with the referee's decision to give the penalty in the first half, but we understand we were a long way second today. It's not a close second - we were a long way second.
"I've praised the boys for their efforts. There's lots of learning that I'm going through at this period in time."
Line-ups
Bristol City
Formation 3-4-3
- 1O'Leary
- 19Tanner
- 16Dickie
- 24Roberts
- 2McCrorie
- 6JamesSubstituted forKnightat 64'minutes
- 8WilliamsBooked at 83mins
- 3PringSubstituted forMorrisonat 85'minutes
- 11MehmetiSubstituted forSykesat 63'minutes
- 15ConwaySubstituted forWellsat 63'minutes
- 7TwineSubstituted forKingat 81'minutes
Substitutes
- 9Cornick
- 10King
- 12Knight
- 17Sykes
- 21Wells
- 22Gardner-Hickman
- 23Bajic
- 33Morrison
- 47Mebude
Rotherham
Formation 4-3-1-2
- 26PhillipsBooked at 31mins
- 28RevanSubstituted forSerikiat 68'minutes
- 21Peltier
- 24Humphreys
- 3Bramall
- 18RathboneSubstituted forHattonat 88'minutes
- 12Rinomhota
- 22Odoffin
- 30AppiahSubstituted forHallat 45'minutes
- 10HugillSubstituted forNombeat 68'minutes
- 9EavesBooked at 67mins
Substitutes
- 1Johansson
- 20Hall
- 29Nombe
- 33Ford
- 38Seriki
- 42Hatton
- Referee:
- Charles Breakspear
- Attendance:
- 22,873
Match Stats
- Possession
- Home71%
- Away29%
- Shots
- Home13
- Away6
- Shots on Target
- Home5
- Away2
- Corners
- Home4
- Away3
- Fouls
- Home5
- Away10
Live Text
Post update
Full Time
Second Half ends, Bristol City 2, Rotherham United 0.
Post update
Attempt missed. Tom Eaves (Rotherham United) header from the centre of the box is close, but misses to the right. Assisted by Cohen Bramall with a cross.
Post update
Foul by Elijah Morrison (Bristol City).
Post update
Andy Rinomhota (Rotherham United) wins a free kick in the defensive half.
Post update
Delay over. They are ready to continue.
Post update
Delay in match (Bristol City).
Post update
Corner, Rotherham United. Conceded by George Tanner.
Substitution
Substitution, Rotherham United. Ben Hatton replaces Oliver Rathbone.
Substitution
Substitution, Bristol City. Elijah Morrison replaces Cameron Pring because of an injury.
Post update
Offside, Rotherham United. Sam Nombe is caught offside.
Post update
Delay over. They are ready to continue.
Post update
Delay in match because of an injury Cameron Pring (Bristol City).
Booking
Joe Williams (Bristol City) is shown the yellow card for a bad foul.
Post update
Foul by Joe Williams (Bristol City).
Post update
Andy Rinomhota (Rotherham United) wins a free kick in the defensive half.
Substitution
Substitution, Bristol City. Andy King replaces Scott Twine.
Post update
Foul by Ross McCrorie (Bristol City).
Post update
Cohen Bramall (Rotherham United) wins a free kick on the left wing.
Post update
Attempt missed. Scott Twine (Bristol City) right footed shot from outside the box misses to the right. Assisted by Joe Williams following a corner.
Comments
Join the conversation
Williams and Matty both brilliant, Roberts just oozes class, and I just thought the performance was great throughout. Also shout out for Pringy, he also had a cracker
Williams adds that bite and steel to city's midfield and I feel that city should really look to keep them. Then again, Bird scored a cracking goal today and looks the part.. UTC
I really hope we win at Stoke next week and finish where a vast majority of us City fans were hoping (10th)
Finishing the season very strongly will hopefully take this moment into next season and finish even higher.
Fair play Manning, you’re winning us over.
UTC
🔴⚪️🔴⚪️🔴⚪️🔴
Looking forward to next season now, and think Manning has well earned the support of the fan base now. I say that as someone who 7/8 games ago wanted him out, but can't argue it feels like we are building something right now. UTFC
Right, time to start saving for next time's season ticket.
Just when you think you've seen everything at a match, a middle -aged man in bubble wrap, invades the pitch, and lays down in the centre -circle. What a genius way to get a stadium ban!