Match ends, Luton Town 3, Bristol City 0.
Pelly-Ruddock Mpanzu's fine shot set Luton on the way to a fourth league win of the season as three second-half goals ended Bristol City's 10-match unbeaten Championship run.
The hosts got on top after a bright start by the Robins, with Mpanzu involved in most of the best moments.
He saw a first-half strike well saved and teed up Izzy Brown, who smashed a shot against the post.
Mpanzu's curling effort made it 1-0 after the break, Harry Cornick's cool one-on-one doubled the lead and an Ashley Williams own goal sealed victory in injury-time.
City had won five and drawn five before heading to Kenilworth Road and Tommy Rowe twice went close early on, forcing James Shea into a decent save and then shooting just over after being pushed wide by the home keeper.
Luton responded impressively and had the better chances thereafter, notably when Ryan Tunnicliffe's strike was well stopped by Daniel Bentley and on-loan Chelsea midfielder Brown's 20-yard strike that hit the woodwork.
The hosts remained the more threatening after the interval and, after James Collins went close, Mpanzu opened the scoring with a fabulous curling shot into the far corner.
Cornick's composed finish made it 2-0 as he broke the offside trap from Brown's pass and Williams slid Tunnicliffe's cross into his own net to wrap up a home win which takes the Hatters up to 16th.
Luton manager Graeme Jones told BBC 3CR:
"That was the exhibition, the evidence of four months' work. I think the technical aspect's one thing and then the application, the courage and character of the players to execute it was really satisfying.
"James Shea was outstanding and I was especially pleased for Sonny Bradley and Matty Pearson, who have been thrown more challenges or demands by me than any other players at the club, and stood up to it and showed courage.
"It's been difficult for them at times and when you eventually break through those barriers, you grow as players. The two lads were getting more and more frustrated at not having a clean sheet, but it's the first time we've had a defensive midfield player out on the pitch for two months and I think that was a key factor today."
Bristol City boss Lee Johnson told BBC Bristol:
"I didn't think we earned the right to play enough, second half. I didn't think we won enough individual duels, on and off the ball and we've got to set a higher standard in terms of the attitude to be the best player on the pitch.
"To sum it up, there were too many cheap giveaways, not in one particular area, but the two goals led from strikers giving the ball away when it wasn't a 50-50. We need to do more - the standards we've set in the last 10 games, we didn't reach today.
"I think the first goal was always going to be very, very important. Our players will have to learn a lot because there are going to be games like that, particularly moving towards the end of the season."
Line-ups
Luton
Formation 4-1-2-1-2
- 36Shea
- 26BreeSubstituted forBoltonat 45'minutes
- 6Pearson
- 5Bradley
- 3Potts
- 2Cranie
- 17MpanzuBooked at 84mins
- 4TunnicliffeBooked at 51mins
- 24BrownSubstituted forMcManamanat 76'minutes
- 19Collins
- 14CornickSubstituted forLuaLuaat 88'minutes
Substitutes
- 7McManaman
- 11Shinnie
- 12Sluga
- 22Bolton
- 25LuaLua
- 28Jones
- 29Butterfield
Bristol City
Formation 3-5-2
- 1Bentley
- 23MooreSubstituted forO'Dowdaat 58'minutes
- 29Williams
- 6Baker
- 2HuntBooked at 90mins
- 45PalmerSubstituted forEliassonat 59'minutes
- 8Brownhill
- 42Massengo
- 25Rowe
- 14Weimann
- 9DiédhiouBooked at 63minsSubstituted forRíos Lozanoat 64'minutes
Substitutes
- 5Wright
- 11O'Dowda
- 18Semenyo
- 19Eliasson
- 31Ríos Lozano
- 32Lopes Pereira
- 33Mäenpää
- Referee:
- Graham Scott
- Attendance:
- 10,064
Match Stats
- Possession
- Home46%
- Away54%
- Shots
- Home12
- Away10
- Shots on Target
- Home5
- Away2
- Corners
- Home8
- Away7
- Fouls
- Home10
- Away11
Live Text
Post update
Full Time
Second Half ends, Luton Town 3, Bristol City 0.
Goal!
Own Goal by Ashley Williams, Bristol City. Luton Town 3, Bristol City 0.
Post update
Corner, Luton Town. Conceded by Nathan Baker.
Booking
Jack Hunt (Bristol City) is shown the yellow card for a bad foul.
Post update
Foul by Jack Hunt (Bristol City).
Post update
Pelly-Ruddock Mpanzu (Luton Town) wins a free kick on the left wing.
Post update
Foul by Jack Hunt (Bristol City).
Post update
James Collins (Luton Town) wins a free kick on the left wing.
Post update
Attempt missed. Rodri (Bristol City) right footed shot from the right side of the box is close, but misses to the left. Assisted by Nathan Baker with a headed pass.
Post update
Corner, Bristol City. Conceded by Callum McManaman.
Post update
Offside, Bristol City. Josh Brownhill tries a through ball, but Rodri is caught offside.
Post update
Attempt missed. Josh Brownhill (Bristol City) header from the centre of the box misses to the left. Assisted by Andreas Weimann with a cross.
Substitution
Substitution, Luton Town. Kazenga LuaLua replaces Harry Cornick.
Booking
Pelly-Ruddock Mpanzu (Luton Town) is shown the yellow card.
Post update
Foul by Andreas Weimann (Bristol City).
Post update
Callum McManaman (Luton Town) wins a free kick in the defensive half.
Post update
Corner, Bristol City. Conceded by Dan Potts.
Post update
Han-Noah Massengo (Bristol City) wins a free kick on the left wing.
Post update
Foul by Callum McManaman (Luton Town).