A campaign that exceeded all expectations.

A club record equalled.

The return of a club legend. 

An eighth-place finish after being fourth favourites for relegation.

It’s been a memorable season for Millwall.  

The recap

Neil Harris was a busy man in the summer transfer window, bringing in seven new faces, including Jed Wallace and Jake Cooper, who had spent the previous season on loan at the Den.

Millwall’s return to the Championship got off to the worst possible start, though, as Barrie McKay’s stunning strike gave Nottingham Forest a 1-0 victory at the City Ground.

George Saville’s first goal for the club was not enough to give the Lions their first league victory of the season against Bolton (1-1) and Millwall’s winless start continued at the hands of Ipswich, losing 4-3 at at home.

Harris’ side picked up their first away point of the campaign against high-flyers Bristol City (0-0) and did not have to wait long for their first win of the season as Norwich (4-0) were swept aside at the Den just a week later thanks to goals from Lee Gregory, Saville, Wallace and Shaun Hutchinson.

Their miserable away form showed no signs of improving as the Lions lost 1-0 at leaders Wolves before squandering a two-goal lead to draw with QPR (2-2) despite Conor McLaughlin’s spectacular strike and first goal for club.

Millwall got back to winning ways the following Saturday as Aiden O’Brien scored the only goal of the game to end Leeds’ unbeaten start to the season in front of a sell-out crowd at the Den.

The ever-improving Lions picked up another valuable point on the road a week later at Preston North End (0-0) before Saville struck twice in the final ten minutes to give Millwall their third straight home win against Reading (2-1).

Back-to-back league defeats followed. Firstly, at home to Barnsley (3-1), and then, controversially at Brentford (1-0), where Gregory missed a late penalty.

Millwall bounced back with a 2-0 victory against Birmingham City in front of the Sky cameras at the Den before drawing 0-0 at promotion-chasing Cardiff.  

October ended with more away day misery as Cooper was sent off in a 2-1 defeat at Sheffield Wednesday. 

A winless November followed in a month where Millwall picked up just two points, losing to Burton (1-0) before drawing with Sunderland (2-2) and Hull City (0-0), concluding with a 1-0 defeat at the hands of Fulham, which saw the club drop to 19th in the table.

December started in the perfect way - Mahlon Romeo marked his first league start of the campaign by scoring in the 3-1 victory over Sheffield United.

The Lions then collected their fifth away point of the season at Aston Villa (0-0) and their fine mid-season form continued as first-half goals from Gregory and Saville gave the Lions a 2-1 victory over Middlesbrough before suffering their heaviest defeat of the season against Derby County at Pride Park (3-0).

That defeat didn’t seem to dent Millwall’s confidence as Cooper’s late goal earned them a 2-2 draw with leaders Wolves on Boxing Day before Steve Morison ended his 24-game wait for a goal to give Harris’ side a 1-0 victory over QPR on former Lions boss Ian Holloway’s first return to the Den since his departure in 2015.

Morison spectacularly made it two goals in two games at Norwich City on New Year’s Day and in the process moved up to third in the club’s all-time top scorers list with 88. That wasn’t enough, though, as two second-half goals from the Canaries ensured Millwall’s wait for an away win went on.

A 1-1 draw with Preston followed, before Millwall finally got that allusive away victory at the fourteenth time of asking thanks to a stoppage-time goal from Wallace at Leeds (4-3).

Tim Cahill’s long-awaited return was finally confirmed on January 29 and just a day later he was presented in front of the fans before the goalless draw with Derby County.

The 38-year-old watched from the stands as Millwall recorded their second straight away league victory at Reading in early February and just six days later made his second Lions debut as a late substitute in a 1-1 draw with Cardiff, once again live on Sky.

The remarkable transformation on the road continued as Fred Onyedinma came off the bench to score the winner at Birmingham City to complete a first ever league double over the Blues.

The unbeaten run was extended to eight games as the Lions came from behind to beat Sheffield Wednesday thanks to second-half goals from Gregory and Morison.

Ben Marshall’s first goal for the club earned Millwall a 1-0 win at Burton before Shaun Hutchinson recused a point at home to Sunderland with his second goal of the campaign.

Saville’s 51st-minute strike set Millwall on their way to a fifth successive away win at Hull City (2-1), and repeated the feat three days later by scoring the only goal of the game against London rivals Brentford to move the Lions six points off the top six.

The play-off charge began to gain momentum a week later as Millwall equalled a club record by registering their sixth consecutive away league victory. A first-half Gregory goal and a Ben Marshall stunner put the Lions into the top ten and just four points off the play-offs with a 2-0 success at Barnsley.

A goal in each half from Shaun Williams and Gregory gave the Lions a comfortable victory over Nottingham Forest on Good Friday to cut the gap on the top six to a single point. But just three days later, Harris’ men missed the chance to climb into the play-off places as they were held to a 2-2 draw by Ipswich at Portman Road after wasting a host of late chances.

A Jed Wallace screamer set Millwall on their way to a fifteenth Championship game without defeat as the Lions breezed past Bristol City to move up to 7th and the unbeaten run was extended to 16 games at Bolton as goals from Tom Elliott and Marshall put Millwall into the top six for the first time in the season.

Morison volleyed home from a wonderful Cooper pass to rescue a draw at Sheffield United the following Saturday as the Lions hung onto sixth place by a single point.

One-hundred-and-nine days after their last defeat, Millwall were finally beaten as three second-half goals from Fulham inflicted their first league defeat since New Year’s Day to leave them a point behind sixth-placed Derby with two games remaining. 

The Lions’ play-off hopes came to end on April 28 as they lost 2-0 to Middlesbrough at the Riverside, although they did end the campaign on a high, beating Aston Villa 1-0 at the Den to record an eighth-place finish.

The verdict 

Millwall’s unlikely promotion push may have come to a disappointing conclusion, but it should not overshadow what has been an exceptional campaign. The Lions were not meant to challenge for the play-offs. They were predicted to finish 21st.  The target for the season was clear - survival - and simply establishing themselves at this level after a two-year absence.

Working on one of the smallest budgets in the division, Harris, and most Lions fans would have been content with avoiding relegation, so having their play-off hopes end on the penultimate weekend is an incredible return and one that should not be diminished.

Harris gave the fans the opportunity to dream with the possibility of a first ever appearance in the Premier League and a return to the top-flight for the first time since 1990. And although their dream did not become a reality, this season was a memorable one, a campaign to saviour and one that has united players and fans.

Nearly 5,000 more Millwall supporters attended their final home game of the season against Aston Villa compared to their opening Championship home game against Bolton (12,238), which just shows you the turnaround in fortunes over the last nine months.

Player of the Season: Shaun Hutchinson

One of just four ever-present outfield players in the Championship over the 2017/2018 season. He was by far Millwall’s most consistent performer.

His previous campaign was hindered by injuries, but his late winner on the final day of last season was the start of things to come and he hasn’t looked back since.

Hutchinson has built a fine partnership with Cooper, leading the Lions to the fourth-best defence in the Championship this season, conceding just 45 goals in 46 games.

His fearless attitude is one that Millwall fans love to see. He’s willing to use any part of his body to keep the ball out and despite not wearing the captain’s armband on a permanent basis, he’s a leader in so many ways.

Moment of the Season: Winning at Leeds

A first away win of the season and what a place to get it. The 4-3 win at Elland Road was Millwall’s first away triumph of the campaign and set the foundations for a club-record equalling run of away victories.

It was also the first time in the second-tier that the Lions completed the league double over Leeds.

O’Brien and Gregory looked to have set Millwall on their way to a routine victory before the Whites hit back with three goals in 16 second-half minutes to lead 3-2. Just when it looked like it would be a familiar story on the road, Elliott struck with three minutes remaining and then Wallace fired the Lions in front deep into stoppage-time to complete the turn around.