David Murphy's first-half double set up a comfortable Birmingham City victory at St Andrew's to end Millwall's three-match winning run.

Murphy drilled home a low left-foot shot from a half-cleared cross before doubling the lead with a stunning 20-yard left-foot free-kick curler.

Midfielder Tom Adeyemi then struck from close range on 68 minutes.

Manchester United loanee Jesse Lingard, who earlier missed a penalty, wrapped up the win late on.

Murphy's score

In only his third game back after a year out following knee surgery, Birmingham City left-back David Murphy's goal was his first since a 3-1 home win over Crystal Palace in April 2012. His next one took just another 15 minutes to arrive.

Having scored four goals on his Birmingham debut against Sheffield Wednesday 10 days ago, Lingard's first game at St Andrew's since then did not initially go to plan.

He won a penalty after being brought down right on the edge of the area by Millwall right-back Alan Dunne, with the visitors arguing vociferously that the offence had taken place outside the box.

But after referee Andy Woolmer pointed to the spot, Lingard fired placed a weak spot-kick low to David Forde's left, allowing the keeper to make a comfortable save.

Nine minutes later, Murphy put the home side ahead when Andrew Shinnie's right-wing cross was somehow allowed to reach him at the far post.

That lead was doubled in the 34th minute when Liam Trotter fouled Shinnie just outside the area and Murphy's left-foot curled in a beauty.

It took another 34 minutes for Blues to score again when Shinnie's fierce right-foot shot was parried and Adeyemi clipped home the rebound.

No roar for Lions

Only 232 away fans made it to St Andrew's in a crowd of 13,133 -Birmingham's lowest home league gate since the turn of the millennium.

Shortly after, Murphy had another chance when sub Nikola Zigic was fouled by Millwall's centre-half Paul Robinson just outside the penalty area, but Forde went full length to his left to keep out the free-kick. It proved the Blues left-back's final action of the night - and he left to a standing ovation.

But there was still more to come as, against a well-beaten Millwall side who barely threatened all night, Blues got a fourth for the second successive home league game, with Lingard heading home Burke's cross.

With last week's 3-1 Capital One Cup win over Swansea thrown in, Birmingham have scored 11 times in three home games over 10 days - having hit just four goals in their first seven games of the season.

The only disappointment for the home side as they enjoyed their best win since a 4-0 victory at Crystal Palace in April was the crowd of 13,133 - their lowest league gate in almost 20 years.

Birmingham boss Lee Clark told BBC WM: "I already knew David Murphy was the best left-back outside the Premier League and it's taken a frustratingly long time to get him back.

"He told me when he came back for the Sheffield Wednesday game that he was keen to play, but might not last the game, but was desperate to start.

"It was the same again tonight and, if you couple that sort of attitude with his ability, you know just what a good player you've got.

"And, of course, he's got a magnificent left foot."

Millwall manager Steve Lomas told BBC Sport: "We just never got going.

"It's so important to get the right tempo, and if you don't run and scrap in this league you're going to come unstuck.

"We knew they'd be on the front foot after the results they'd had here against Swansea and Sheffield Wednesday, but we just did not heed the warnings.

"Our pride's been hurt and we now have a massive game coming up against Bournemouth is Saturday before we go into the international break."

Lineup, Bookings (1) & Substitutions (6)

Birmingham City

  • 01 Randolph
  • 03 Murphy (Bartley - 79' )
  • 23 Spector
  • 06 Burn
  • 04 Robinson
  • 09 Lingard (Gray - 91' )
  • 07 Burke
  • 24 Adeyemi
  • 17 Reilly
  • 22 Shinnie
  • 25 Green (Zigic - 70' )

Substitutes

  • 19 Zigic
  • 20 Lee
  • 13 Doyle
  • 31 Caddis
  • 33 Gray
  • 05 Bartley
  • 27 Ferguson

Millwall

  • 01 Forde
  • 28 Malone
  • 05 Robinson Booked
  • 02 Dunne
  • 03 Shittu
  • 06 Trotter
  • 10 Bailey (Chaplow - 63' )
  • 26 Abdou
  • 29 Waghorn (Easter - 76' )
  • 09 Morison (Martin - 45' )
  • 11 Woolford

Substitutes

  • 13 Martin
  • 18 Chaplow
  • 22 Osborne
  • 43 Bywater
  • 17 Derry
  • 08 Easter
  • 12 Lowry
Ref: Andy Woolmer
Att: 13,133

Match Stats

Shots

14 7

On target

10 1

Corners

5 3

Fouls

13 15

Live Text Commentary

Full time

Full Time Match ends, Birmingham City 4, Millwall 0.

90:00 +3:34 Full time

Full Time Second Half ends, Birmingham City 4, Millwall 0.

90:00 +1:57

Foul by Jonathan Spector (Birmingham City).

90:00 +1:57

Jermaine Easter (Millwall) wins a free kick on the left wing.

90:00 +0:52 Substitution

Substitution Substitution, Birmingham City. Demarai Gray replaces Jesse Lingard.

88:26 Goal scored

Goal! Goal! Birmingham City 4, Millwall 0. Jesse Lingard (Birmingham City) header from more than 35 yards to the bottom left corner. Assisted by Chris Burke with a cross.

87:40

Kyle Bartley (Birmingham City) wins a free kick in the defensive half.

87:40

Foul by Martyn Woolford (Millwall).

86:59

Callum Reilly (Birmingham City) wins a free kick in the defensive half.

86:59

Foul by Alan Dunne (Millwall).

86:39

Attempt blocked. Martyn Woolford (Millwall) right footed shot from outside the box is blocked.

86:05

Foul by Dan Burn (Birmingham City).

86:05

Jermaine Easter (Millwall) wins a free kick on the right wing.

85:22

Foul by Nikola Zigic (Birmingham City).

85:22

Danny Shittu (Millwall) wins a free kick in the defensive half.

84:54

Kyle Bartley (Birmingham City) wins a free kick in the defensive half.

84:54

Foul by Jermaine Easter (Millwall).

83:38

Jonathan Spector (Birmingham City) wins a free kick on the right wing.

83:38

Foul by Liam Trotter (Millwall).

78:40

Foul by Paul Robinson (Birmingham City).

78:40

Richard Chaplow (Millwall) wins a free kick in the defensive half.

78:12 Substitution

Substitution Substitution, Birmingham City. Kyle Bartley replaces David Murphy.

77:34

Corner, Birmingham City. Conceded by David Forde.

77:33

Attempt saved. David Murphy (Birmingham City) left footed shot from outside the box is saved in the bottom left corner.

76:44

Nikola Zigic (Birmingham City) wins a free kick in the attacking half.

76:44

Foul by Paul Robinson (Millwall).

75:51 Substitution

Substitution Substitution, Millwall. Jermaine Easter replaces Martyn Waghorn.

75:21

Attempt missed. Martyn Woolford (Millwall) right footed shot from outside the box is close, but misses to the left.

74:50

Corner, Millwall. Conceded by Dan Burn.

73:09

Attempt saved. Nikola Zigic (Birmingham City) header from the centre of the box is saved in the centre of the goal. Assisted by Chris Burke with a cross.

71:44

Attempt missed. Scott Malone (Millwall) right footed shot from more than 35 yards is too high.

70:18

Corner, Millwall. Conceded by Dan Burn.

69:22 Substitution

Substitution Substitution, Birmingham City. Nikola Zigic replaces Matthew Green.

67:14 Goal scored

Goal! Goal! Birmingham City 3, Millwall 0. Tom Adeyemi (Birmingham City) right footed shot from the centre of the box to the centre of the goal.

67:09

Attempt saved. Andrew Shinnie (Birmingham City) right footed shot from outside the box is saved in the centre of the goal.

65:07

Foul by Matthew Green (Birmingham City).

65:07

Nadjim Abdou (Millwall) wins a free kick in the defensive half.

64:22

Offside, Millwall. Richard Chaplow tries a through ball, but Alan Dunne is caught offside.

62:12 Substitution

Substitution Substitution, Millwall. Richard Chaplow replaces Nicky Bailey.

60:18

Foul by Dan Burn (Birmingham City).

60:18

Lee Martin (Millwall) wins a free kick on the right wing.

59:49

Andrew Shinnie (Birmingham City) wins a free kick in the defensive half.

59:49

Foul by Martyn Waghorn (Millwall).

59:29

Foul by Paul Robinson (Birmingham City).

59:29

Martyn Waghorn (Millwall) wins a free kick in the defensive half.

58:10

Dan Burn (Birmingham City) wins a free kick in the defensive half.

58:10

Foul by Alan Dunne (Millwall).

57:06

Offside, Millwall. Nicky Bailey tries a through ball, but Scott Malone is caught offside.

54:16

Attempt blocked. Lee Martin (Millwall) right footed shot from the right side of the six yard box is blocked. Assisted by Alan Dunne.

53:51

Foul by Matthew Green (Birmingham City).

53:51

Paul Robinson (Millwall) wins a free kick on the right wing.

51:39

Corner, Millwall. Conceded by Chris Burke.

49:57

Attempt blocked. Jesse Lingard (Birmingham City) header from the centre of the box is blocked. Assisted by Chris Burke with a cross.

49:11

Foul by Matthew Green (Birmingham City).

49:11

David Forde (Millwall) wins a free kick in the defensive half.

48:18

Offside, Millwall. Nadjim Abdou tries a through ball, but Paul Robinson is caught offside.

47:18

Foul by Dan Burn (Birmingham City).

47:18

Martyn Waghorn (Millwall) wins a free kick in the attacking half.

46:07

Attempt missed. Callum Reilly (Birmingham City) right footed shot from outside the box is high and wide to the right following a set piece situation.

45:47 Booking

Booking Paul Robinson (Millwall) is shown the yellow card for a bad foul.

45:24

Jesse Lingard (Birmingham City) wins a free kick in the attacking half.

45:24

Foul by Paul Robinson (Millwall).

45:00

Second Half begins Birmingham City 2, Millwall 0.

45:00 Substitution

Substitution Substitution, Millwall. Lee Martin replaces Steve Morison.

45:00 +1:17 Half time

Half Time First Half ends, Birmingham City 2, Millwall 0.

43:24

Attempt missed. Nicky Bailey (Millwall) right footed shot from outside the box is close, but misses to the left.

41:49

Attempt missed. Callum Reilly (Birmingham City) left footed shot from outside the box is close, but misses to the left.

40:14

Corner, Birmingham City. Conceded by Martyn Woolford.

39:36

Corner, Birmingham City. Conceded by Liam Trotter.

38:30

Jonathan Spector (Birmingham City) wins a free kick in the defensive half.

38:30

Foul by Martyn Waghorn (Millwall).

36:35

Offside, Millwall. Martyn Woolford tries a through ball, but Martyn Waghorn is caught offside.

35:35

Foul by Jesse Lingard (Birmingham City).

35:35

Nicky Bailey (Millwall) wins a free kick in the defensive half.

34:59

Attempt missed. Nadjim Abdou (Millwall) right footed shot from the right side of the box misses to the right.

33:53 Goal scored

Goal! Goal! Birmingham City 2, Millwall 0. David Murphy (Birmingham City) from a free kick with a left footed shot to the top left corner.

33:05

Andrew Shinnie (Birmingham City) wins a free kick in the attacking half.

33:05

Foul by Liam Trotter (Millwall).

32:34

Attempt saved. Chris Burke (Birmingham City) left footed shot from outside the box is saved in the bottom left corner. Assisted by Tom Adeyemi.

29:39

Foul by Jesse Lingard (Birmingham City).

29:39

Martyn Waghorn (Millwall) wins a free kick in the defensive half.

29:01

Corner, Birmingham City. Conceded by Danny Shittu.

27:32

Callum Reilly (Birmingham City) wins a free kick in the attacking half.

27:32

Foul by Martyn Waghorn (Millwall).

22:17

Chris Burke (Birmingham City) wins a free kick in the defensive half.

22:17

Foul by Liam Trotter (Millwall).

21:07

Corner, Birmingham City. Conceded by Scott Malone.

18:56 Goal scored

Goal! Goal! Birmingham City 1, Millwall 0. David Murphy (Birmingham City) left footed shot from the left side of the box to the bottom right corner.

17:44

Foul by Andrew Shinnie (Birmingham City).

17:44

Alan Dunne (Millwall) wins a free kick in the defensive half.

17:05

Attempt saved. David Murphy (Birmingham City) right footed shot from the centre of the box is saved in the top centre of the goal. Assisted by Jesse Lingard with a cross.

16:27

Tom Adeyemi (Birmingham City) wins a free kick on the right wing.

16:27

Foul by Liam Trotter (Millwall).

14:17

Offside, Birmingham City. David Murphy tries a through ball, but Matthew Green is caught offside.

10:44

David Murphy (Birmingham City) wins a free kick in the defensive half.

10:44

Foul by Martyn Waghorn (Millwall).

9:05

Penalty saved! Jesse Lingard (Birmingham City) fails to capitalise on this great opportunity, right footed shot saved in the bottom right corner.

8:00

Penalty Birmingham City. Jesse Lingard draws a foul in the penalty area.

8:00

Penalty conceded by Scott Malone (Millwall) after a foul in the penalty area.

5:20

Attempt saved. Liam Trotter (Millwall) right footed shot from outside the box is saved in the bottom right corner.

1:24

Attempt missed. Andrew Shinnie (Birmingham City) right footed shot from outside the box is too high. Assisted by Jesse Lingard.

0:00

First Half begins.

0:00

Lineups are announced and players are warming up.

Live data and text provided by our data suppliers