| | First Half starts. |
| 1' | | Fouled by Shaun Hutchinson - Millwall |
| 1' | | Sinclair Armstrong - Bristol City - won a free kick in defence. |
| 3' | | Goal! Bristol City 1, Millwall 0. Anis Mehmeti - Bristol City - shot with right foot from the centre of the box to the right corner. |
| 4' | | Corner - Millwall. Conceded by Joe Williams. |
| 6' | | Fouled by Joe Williams - Bristol City |
| 6' | | George Saville - Millwall - won a free kick in attack. |
| 7' | | Shot blocked. Casper De Norre - Millwall - shot with left foot from outside the box is blocked. |
| 7' | | Shot blocked. Duncan Watmore - Millwall - shot with right foot from a diffucult position on the right is blocked. Assist - Ryan Leonard with a cross. |
| 8' | | Offside - Bristol City. Anis Mehmeti is in offside. |
| 12' | | Goal! Bristol City 2, Millwall 0. Sinclair Armstrong - Bristol City - shot with the head from the centre of the box to the right corner. Assist - Max Bird with a cross. |
| 14' | | Duncan Watmore - Millwall - won a free kick in attack. |
| 14' | | Fouled by Joe Williams - Bristol City |
| 15' | | Fouled by Jake Cooper - Millwall |
| 15' | | Rob Dickie - Bristol City - won a free kick in defence. |
| 16' | | Fouled by George Saville - Millwall |
| 16' | | Jason Knight - Bristol City - won a free kick in attack. |
| 17' | | Fouled by Mark Sykes - Bristol City |
| 17' | | George Saville - Millwall - won a free kick in defence. |
| 18' | | Fouled by Romain Esse - Millwall |
| 18' | | Zak Vyner - Bristol City - won a free kick in defence. |
| 21' | | Fouled by Cameron Pring - Bristol City |
| 21' | | Romain Esse - Millwall - won a free kick in attack. |
| 22' | | Missed chance. Jake Cooper - Millwall - shot with the head from the centre of the box missed. Assist - Duncan Watmore . |
| 23' | | Fouled by Romain Esse - Millwall |
| 23' | | Jason Knight - Bristol City - won a free kick in defence. |
| 24' | | Ryan Leonard - Millwall - hits the left post with a shot with right foot from the right side of the six yard box. Assist - George Honeyman with a cross. |
| 27' | | Fouled by Anis Mehmeti - Bristol City |
| 27' | | Ryan Leonard - Millwall - won a free kick on the right wing. |
| 29' | | Fouled by Jason Knight - Bristol City |
| 29' | | Romain Esse - Millwall - won a free kick in attack. |
| 30' | | Shot blocked. Romain Esse - Millwall - shot with left foot from the right side of the box is blocked. Assist - Ryan Leonard. |
| 30' | | Missed chance. Tom Bradshaw - Millwall - shot with right foot from the centre of the box missed. Assist - Joe Bryan with a cross. |
| 30' | | Fouled by Shaun Hutchinson - Millwall |
| 30' | | Joe Williams - Bristol City - won a free kick in defence. |
| 32' | | Corner - Millwall. Conceded by Zak Vyner. |
| 32' | | Fouled by George Saville - Millwall |
| 32' | | Joe Williams - Bristol City - won a free kick in defence. |
| 36' | | Fouled by George Tanner - Bristol City |
| 36' | | George Honeyman - Millwall - won a free kick in attack. |
| 37' | | Missed chance. George Saville - Millwall - shot with left foot from outside the box is very close to the goal from a free kick. |
| 38' | | Missed chance. Max Bird - Bristol City - shot with left foot from outside the box missed. Assist - Jason Knight. |
| 40' | | Offside - Millwall. Tom Bradshaw is in offside. |
| 43' | | Corner - Bristol City. Conceded by Romain Esse. |
| 45' | | Missed chance. Anis Mehmeti - Bristol City - shot with right foot from the left side of the box is close, but misses the top right corner. Assist - Sinclair Armstrong following a fast break. |
| 45+2' | | First Half ended - Bristol City 2, Millwall 0. |
| 45' | | Second Half starts Bristol City 2, Millwall 0. |
| 49' | | Fouled by Casper De Norre - Millwall |
| 49' | | Joe Williams - Bristol City - won a free kick in attack. |
| 49' | | Casper De Norre - Millwall - receive yellow card for a foul. |
| 50' | | Mark Sykes - Bristol City - receive yellow card. |
| 51' | | Goal! Bristol City 2, Millwall 1. Romain Esse - Millwall - shot with left foot from the centre of the box to the right corner. Assist - George Honeyman. |
| 53' | | Shot blocked. Duncan Watmore - Millwall - shot with the head from the left side of the box is blocked. Assist - Romain Esse with a cross. |
| 53' | | Penalty conceded by George Tanner - Bristol City - with a hand ball in the penalty area. |
| 54' | | Goal! Bristol City 2, Millwall 2. Tom Bradshaw - Millwall - converts the penalty with a shot with right foot to the centre of the goal. |
| 56' | | Missed chance. Tom Bradshaw - Millwall - shot with right foot from the centre of the box is close, but missed to the left. |
| 58' | | Corner - Millwall. Conceded by Jason Knight. |
| 61' | | Corner - Bristol City. Conceded by Jake Cooper. |
| 62' | | Fouled by Joe Bryan - Millwall |
| 62' | | Mark Sykes - Bristol City - won a free kick in defence. |
| 62' | | Substitution - Bristol City. Fally Mayulu for Sinclair Armstrong. |
| 62' | | Substitution - Bristol City. Scott Twine for Anis Mehmeti. |
| 64' | | Goal! Bristol City 2, Millwall 3. Duncan Watmore - Millwall - shot with right foot from the centre of the box to the right corner. |
| 65' | | New attacking attempt. Max Bird - Bristol City - shot with left foot from the left side of the box is saved in the left corner. Assist - Scott Twine. |
| 66' | | Duncan Watmore - Millwall - won a free kick in defence. |
| 66' | | Fouled by Scott Twine - Bristol City |
| 67' | | Lukas Jensen - Millwall - receive yellow card. |
| 68' | | Duncan Watmore - Millwall - won a free kick on the right wing. |
| 68' | | Fouled by Zak Vyner - Bristol City |
| 69' | | New attacking attempt. Tom Bradshaw - Millwall - shot with the head from the centre of the box is saved by goalkeeper in the centre of the goal. Assist - Jake Cooper with a head. |
| 71' | | Corner - Bristol City. Conceded by Romain Esse. |
| 73' | | Fouled by Duncan Watmore - Millwall |
| 73' | | George Tanner - Bristol City - won a free kick in defence. |
| 77' | | Substitution - Millwall. Aidomo Emakhu for Duncan Watmore. |
| 77' | | Substitution - Millwall. Dan McNamara for Romain Esse. |
| 78' | | Goal! Bristol City 3, Millwall 3. Fally Mayulu - Bristol City - shot with right foot from the centre of the box to the left corner. Assist - Max Bird. |
| 81' | | Corner - Millwall. Conceded by Rob Dickie. |
| 83' | | Shot blocked. George Saville - Millwall - header inside of six yard box - left side is blocked. Assist - George Honeyman with a cross. |
| 83' | | Missed chance. Fally Mayulu - Bristol City - shot with right foot from the centre of the box is close, but missed to the left. Assist - Max Bird with a through ball following a fast break. |
| 83' | | Substitution - Millwall. Macaulay Langstaff for Tom Bradshaw. |
| 85' | | Shot blocked. Scott Twine - Bristol City - shot with right foot from outside the box is blocked. |
| 85' | | Corner - Bristol City. Conceded by Joe Bryan. |
| 86' | | Fouled by Joe Bryan - Millwall |
| 86' | | Mark Sykes - Bristol City - won a free kick on the right wing. |
| 86' | | Substitution - Bristol City. George Earthy for Mark Sykes. |
| 88' | | Goal! Bristol City 4, Millwall 3. Scott Twine - Bristol City - shot with right foot from the centre of the box to the left corner. Assist - Joe Williams with a cross. |
| 89' | | Substitution - Millwall. Tom Leahy for Shaun Hutchinson. |
| 90+1' | | Missed chance. George Earthy - Bristol City - shot with right foot from the centre of the box missed. Assist - Scott Twine. |
| 90+4' | | New attacking attempt. Fally Mayulu - Bristol City - shot with left foot from the left side of the box is saved by goalkeeper in the centre of the goal. |
| 90+4' | | Corner - Bristol City. Conceded by Lukas Jensen. |
| 90+5' | | Fouled by George Saville - Millwall |
| 90+5' | | Max Bird - Bristol City - won a free kick on the right wing. |
| 90+6' | | Fouled by Fally Mayulu - Bristol City |
| 90+6' | | Jake Cooper - Millwall - won a free kick in defence. |
| 90+6' | | Second Half ended - Bristol City 4, Millwall 3. |
| | Thats all. Game finished - Bristol City 4, Millwall 3. |