Max O’Leary – 7

The Bristol City stopper didn’t have an awful lot of work to do in the opening period, but on the rare occasion he was called into action he was solid enough. Made some good stops in the second half and was more than deserving of his clean sheet.

Zak Vyner – 8

He’s had to wait a long time for another Bristol City goal but not even Zak Vyner could miss from that sort of range. A composed finish to break the deadlock and his defensive display deserved it. He showed a steel that is typically associated with his centre-back partner. Was worth so much more than his goal on Tuesday evening.

Rob Dickie – 7

As he has done since Luke McNally’s season was ended prematurely, the 29-year-old led the line brilliantly at the back and appeared to be equal to everything Millwall threw his way in the opening 45 minutes. Continued to be in the wars in the second period and tended to come out on top.

George Tanner – 7

Yet another typical George Tanner display on the right of defence. He was solid as could be without offering too much going forward and that is exactly what Liam Manning’s side needed.

Cam Pring (off for Sam Bell, 76′) – 8

Handed his first start since New Year’s Day and looked as if he’d never been away. A great cross nearly carved out the opener for Mark Sykes and produced some impressively strong tackles to sniff out some attacks from the home side in the first half. Carried that work on after the break and even came away with the assist for Vyner’s goal.

Max Bird – 7

It is sometimes hard to believe Bird only made the move to Ashton Gate last summer as he always seems to be incredibly composed in and out of possession. Although he didn’t do anything particularly flash, he kept possession brillaintly and was at the heart of a lot of what City did right.

Jason Knight – 7

As we’ve come to expect, another real captain’s performance from the 24-year-old. It seemed as though he was first to each and every loose ball in the first half as he consistently broke up play. He is the engine room of this side and it simply wouldn’t function as well without him.

Mark Sykes (off for Haydon Roberts, 68′) – 6

The majority of City’s attacking threat came down Mark Sykes’ half in the first half. The Ireland international forced a handful of corners with some dangerous crosses into the penalty area but was never quite able to pick out a teammate in cream and burgundy. Worked hard defensively but struggled to contain Aidomo Emakhu in the second half.

Scott Twine (off for Joe Williams, 81′) – 6.5

Arguably one of the attacking midfielder’s better away showings as a Bristol City player. Scott Twine managed to get more of his cheeky flicks and crafty passes off than he has done in recent weeks even if they didn’t really manage to carve out any clear-cut chances. Worked incredibly hard in and out of possession.

George Earthy – 6

The West Ham loanee was restored to the starting line-up after his heroics against Middlesbrough last time out and came close to opening the scoring when he tested Lukas Jensen following a short corner. Didn’t manage to get overly involved in proceedings but worked hard nevertheless and looked positive in flashes.

Bristol City Live on Whatsapp

Join Bristol Live’s WhatsApp community for top stories and breaking news sent directory to your phone

Join Bristol City Live’s Whatsapp community for all the biggest Bristol City stories sent straight to your phone

Bristol City Live is now on WhatsApp and we want you to join our community.

Through the app, we’ll send the Bristol City news, live match coverage, team news, transfers, fixtures, analysis and more straight to your phone.

To join our community you need to already have WhatsApp. All you need to do is click this link and select ‘Join Community’.

No one will be able to see who is signed up and no one can send messages except the Bristol Live team.

We also treat community members to special offers, promotions and adverts from us and our partners. If you don’t like our community, you can check out at any time you like.

To leave our community, click on the name at the top of your screen and choose ‘Exit group’.

If you’re curious, you can read our Privacy Notice.

Click here to join our WhatsApp community.

Sinclair Armstrong (off for Harry Cornick, 68′) – 6.5

With no Nahki Wells in the matchday squad, Bristol City needed Sinclair Armstrong to be a nuisance and he was exactly that. The Irishman was the Reds’ biggest threat in the first half as he ran Millwall’s backline ragged. Faded in the second half however, before being replaced.

Substitutes:

Harry Cornick – 8

What a moment for the forward. It wasn’t the best of goals, but it will have felt like a World Cup final winner for him. The players were delighted for him and who can blame them!

Haydon Roberts – 6

Solid enough when introduced as he went about his business well.

Sam Bell – 7

It won’t go down as an assist but his run and shot carved out Cornick’s goal.

Joe Williams – N/A