text: The Lions looked the more dangerous side in the early stages and experienced striker Steve Morison twice hammered efforts over the crossbar.
  There was little goalmouth action at either end until Millwall broke the deadlock in the 35th minute.
  Morison helped on a free-kick from Tony Craig and central defender Byron Webster fired a shot on the turn from 15 yards into the bottom corner of the net.
  Shrewsbury almost equalised early in the second half but visiting right-back Mahlon Romeo's clearance from Shaun Whalley's cross just went over the bar.
  Millwall doubled their advantage in the 77th minute, Shaun Hutchinson turning in the loose ball from close range after Shrewsbury were unable to clear Shane Ferguson's free-kick.
  Shrewsbury, now without a win in six games, grabbed a late consolation when Whalley, set up by Stephen Humphrys, squeezed a shot past goalkeeper Tom King.
  Millwall are now only outside the play-off places on goal difference while Shrewsbury remain in the relegation zone.
  Match report supplied by the Press Association.
  Match ends, Shrewsbury Town 1, Millwall 2.
  Second Half ends, Shrewsbury Town 1, Millwall 2.
  Tony Craig (Millwall) is shown the yellow card for a bad foul.
  Shaun Whalley (Shrewsbury Town) wins a free kick on the right wing.
  Foul by Tony Craig (Millwall).
  Attempt missed. Shaun Whalley (Shrewsbury Town) left footed shot from the right side of the box is high and wide to the left.
  Mat Sadler (Shrewsbury Town) wins a free kick in the defensive half.
  Foul by Steve Morison (Millwall).
  Goal!  Shrewsbury Town 1, Millwall 2. Shaun Whalley (Shrewsbury Town) right footed shot from the right side of the six yard box to the bottom left corner. Assisted by Stephen Humphrys.
  Substitution, Millwall. Callum Butcher replaces Shane Ferguson.
  Corner,  Shrewsbury Town. Conceded by Shaun Hutchinson.
  Attempt missed. Mat Sadler (Shrewsbury Town) right footed shot from the right side of the box misses to the right.
  Shaun Hutchinson (Millwall) is shown the yellow card.
  Attempt saved. Alex Rodman (Shrewsbury Town) right footed shot from outside the box is saved in the bottom right corner.
  Substitution, Millwall. David Worrall replaces Jed Wallace.
  Foul by Aristote Nsiala (Shrewsbury Town).
  Fred Onyedinma (Millwall) wins a free kick on the left wing.
  Goal!  Shrewsbury Town 0, Millwall 2. Shaun Hutchinson (Millwall) right footed shot from the centre of the box to the bottom left corner.
  Substitution, Shrewsbury Town. Stephen Humphrys replaces Tyler Roberts because of an injury.
  Foul by Gary Deegan (Shrewsbury Town).
  Ben Thompson (Millwall) wins a free kick in the attacking half.
  Attempt missed. Steve Morison (Millwall) right footed shot from the right side of the box misses to the left.
  Foul by Gary Deegan (Shrewsbury Town).
  Shane Ferguson (Millwall) wins a free kick in the defensive half.
  Substitution, Millwall. Fred Onyedinma replaces Aiden O'Brien.
  Substitution, Shrewsbury Town. Tyler Roberts replaces Freddie Ladapo.
  Jack Grimmer (Shrewsbury Town) wins a free kick on the right wing.
  Foul by Shane Ferguson (Millwall).
  Mat Sadler (Shrewsbury Town) wins a free kick on the left wing.
  Foul by Aiden O'Brien (Millwall).
  Stefan Payne (Shrewsbury Town) wins a free kick in the defensive half.
  Foul by Mahlon Romeo (Millwall).
  Attempt missed. Ben Thompson (Millwall) right footed shot from outside the box misses to the right.
  Alex Rodman (Shrewsbury Town) wins a free kick in the defensive half.
  Foul by Jed Wallace (Millwall).
  Steve Morison (Millwall) is shown the yellow card.
  Alex Rodman (Shrewsbury Town) is shown the yellow card.
  Alex Rodman (Shrewsbury Town) has gone down, but that's a dive.
  Attempt saved. Steve Morison (Millwall) header from the centre of the box is saved in the centre of the goal.
  Foul by Alex Rodman (Shrewsbury Town).
target: Millwall's play-off charge gathered pace with a win at struggling Shrewsbury.