Bristol City ended a four-game winless run in the Championship with a 1-0 win over Luton Town at Ashton Gate on Boxing Day, thanks to a Scott Twine cracker.
The Robins were the better of the two sides in the opening period but had to wait until the second half to break the deadlock when Twine smashed in a right-footed effort from the edge of the area to hand Liam Manning's side the lead.
Manning's Reds looked to have doubled their lead just a quarter of an hour later when substitute Sam Bell tapped home Yu Hirakawa's cross, but as the ball trickled into the net, the assistant referee raised his flag to deny the academy graduate his first of the campaign.
Both teams had chances to score after the opener, but a combination of good defending and a lack of cutting edge allowed the Reds to claim all three points in BS3.
The win over Rob Edwards' Hatters leaves the Robins 11th in the table, seven points adrift of the play-off places with games against Portsmouth and Plymouth Argyle still to come over the festive period.
Key Events
Hear from the manager
Liam Manning has conducted his post-match press conference and explained his decision to substitute Fally Mayulu at half-time.
Read what he said HERE...
Player ratings have landed
An excellent team performance and a Scott Twine screamer saw Bristol City end a four game winless run on Boxing Day.
Read our player ratings HERE...
Full-time: Bristol City 1 - 0 Luton Town
That's a big win for the Robins and they deserved it. Some excellent last gasp defending gets them the three points after Scott Twine's screamer. An immense all around display.
We'll have all the reaction from Ashton Gate here...
Ashton Gate is loud
The crowd are really getting behind their squad here. Let's hope that sees Manning's side over the line.
City corner
Mehmeti does well to win the Robins a late corner. Not too much longer left to play here.
Another Robins change
Marcus McGuane is the man to come on replacing Max Bird who has been superb today.
Yellow card for Dickie
The City defender goes through the back of a Luton player on the break and goes into the book.
He's going to carry on
It looks like Atkinson will have to wait as McNally is going to carry on. The Reds are going to have to deal with a decent bit of injury time here.
McNally down
The centre-back looks in some discomfort after a coming together in the box. It looks like we may see Rob Atkinson finally get on.
Over from Morris
That was dangerous, a cross finds Morris' head and he gets up well to aim towards goal. Somehow, it's deflected behind for a corner that the Reds clear up field.
Another big block from Tanner
Tanner has been excellent since coming on. This time, he gets down on one knee to block Chong's left-footed effort from the edge of the area. He may not be dynamic going forward, but he is a brilliant one on one defender.
Big block by Tanner
Luton are beginning to pile on the pressure, but George Tanner ensures that Chong's cross doesn't find a teammate as he gets a thigh to the ball on the way through. Some strong defending from the right-back.
City change
Scott Twine's afternoon is over as he is replaced by George Earthy. He has been rather quiet today, but his goal seperates the two sides at this stage.
Well over from Bird
Space opened up for the midfielder just outside the box and he simply had to try his luck with his left foot. Unfortunately, his striker does more damage to the stand than it does Kaminski's goal.
Woodrow on
Luton have turned to their bench and former City loanee Woodrow is on. There was a gentle boo from Section 82 at that change.
Huge penalty appeals
Twine is brought down in the area and the whole of Ashton Gate is waiting for the referee to point to the spot, but he doesn't.
We've only seen it once but that looked incredibly clear to us.
Very open game
Luton haven't had any real chances of note this half, but this does feel like it has another goal in it. City will be hoping they get it and wrap this up.
Double City change
George Tanner and Anis Mehmeti are both making their way onto the Ashton Gate turf and will replace Ross McCrorie and Hirakawa.
Bell sees goal ruled out
The academy graduate tucks away to double City's lead and he runs off to celebrate, the assistant raises his flag. He did look a fair way off but the Reds are frustrated.
Luton penalty appeals
Chong has ended up in a heap in the box and wants a penalty, as do the travelling fans. That would have been harsh but you have seen them given. One the Reds have got away with.
All a bit scrappy
Max Bird and a Luton player have had a coming together in the middle of the park and a little scrap has broken out in the middle of the park. Nothing too major but both it will be a booking for Morris.
Break in play
Pring has just taken a ball to the unmentionables from rather close range and we've got a break in play. He's done well to stand up, let alone play on.
City corner
Excellent work from Hirakawa to battle away following a City throw to somehow win a corner. He's been really bright today.
City settled down
After a frantic start to the second period, thanks to Twine, things have settled down slightly in Ashton Gate. The Robins will want to add to their tally sooner rather than later however.
Wide by McCrorie
City have sparked into life here and McCrorie tries his luck from a similar distance to Twine. This one, however, ends up in the South Stand rather than the net.
GOAL: BRISTOL CITY 1 - 0 Luton [Twine]
Some start to the second half! Twine finds some space on the edge of the box and smashes into the top corner. What a strike that is.
Back underway
Sorry for a slight delay, but we're back underway at Ashton Gate. It is Mayulu who makes well for Bell at half-time.