“Play-offs should be cagey but we opened up the pitch and they did us proud”
Paul BuckleLuton Town manager
Andy Morrell had Wrexham's best chance, while Robbie Willmott and Janos Kovacs missed superb chances late on to extend Luton's advantage.
The tie was a repeat of last year's semi-final, when Luton made a dream start by going 3-0 up within 35 minutes at the Racecourse Ground on the way to a 5-1 aggregate win.
It was not that disastrous for the Welsh side this time around, but it was close.
Fleetwood was the provider for the opener, collecting Keith Keane's long ball on the right side and cutting the ball back to Gray, who rifled past Joslain Mayebi for his sixth goal in 10 games for the Hatters since joining from Hinckley in March.
The roles were reversed shortly afterwards, as Alex Lawless dispossessed Nat Knight-Percival on the halfway line and gave it to Gray. He fed Fleetwood and the Welshman saw his shot go in off the left-hand post.
Wrexham's sole first-half effort came when Morrell's low shot drew a fine save from Mark Tyler, tipping the ball around the post.
The half-time team talk from player-manager Morrell seemed to lift Wrexham, who continuously turned to the power and persistence of Mathias Pogba for inspiration.
The pressure drew a barrage of corners - six in the opening 11 minutes of the second half - but Knight-Percival's wayward header was all they could show for their efforts.
Luton remained dangerous on the counter attack, with Gray forcing a superb stop from Mayebi and Willmott hitting his six-yard effort straight at the keeper following good work from Gray.
And Kovacs looked to have grabbed a third when Mayebi and Neil Ashton's mix-up presented him with an open goal, but Knight-Percival managed to scurry back to clear off the line.
Wrexham, who were without 21-goal top scorer Jake Speight with tonsillitis, now have a gargantuan task in Monday's second leg if they are to prevent the Hatters from reaching their second play-off final in as many years.
VIEWS FROM THE DRESSING ROOM
Luton Town manager Paul Buckle told BBC Three Counties Radio:
"It felt like some game. Play-offs should be cagey but we opened up the pitch and they did us proud. The biggest disappointment is we did not win by more.
"We expected them to have words at half-time because no team has done that to them. But we looked even more dangerous because we were so solid and breaking at will.
"What we must do is take confidence from it and try to win the game up there. The game's never over, we've just got to be organised when we go up there.
"We've got to prepare to go up there to be professional and see what we can do. I'm very focused on what we've got to do. We know we've done very well but we've got to focus on Monday."
Wrexham player-manager Andy Morrell told BBC Radio Wales:
"Again we haven't showed up in the first half which is so disappointing. I don't know why and we can't afford to do that in a 180-minute tie.
"The tie could have been over but we've hung in there and the second half was so much better.
"The lads have stood up and been counted in the second half. They could have gone under and it could have been over but it wasn't. The tie's alive. We've got to put it right Monday."
Shot from just outside the area by Mathias Pogba goes over the bar.
Amari Morgan-Smith concedes a free kick for a foul on Neil Ashton. Neil Ashton takes the free kick.
Amari Morgan-Smith concedes a free kick for a foul on Dean Keates. Stephen Wright takes the free kick.
Header from close range by Mathias Pogba misses to the right of the target.
Free kick awarded for a foul by John Kissock on Neil Ashton. Direct free kick taken by Neil Ashton.
Substitution Amari Morgan-Smith joins the action as a substitute, replacing Andre Gray.
Substitution Adrian Cieslewicz goes off and Johnny Hunt comes on.
Free kick crossed left-footed by Dean Keates.
Booking Andre Gray is cautioned by the ref for unsporting behaviour.
Adrian Cieslewicz fouled by Andre Gray, the ref awards a free kick.
Keith Keane takes a shot. Stephen Wright makes a clearance.
Substitution Adam Watkins goes off and John Kissock comes on.
Andre Gray fouled by Neil Ashton, the ref awards a free kick. Keith Keane restarts play with the free kick.
Robbie Willmott takes a shot. Save by Joslain Mayebi.
Unfair challenge on Adrian Cieslewicz by Alex Lawless results in a free kick. Direct free kick taken by Stephen Wright.
Andre Gray fouled by Neil Ashton, the ref awards a free kick. Janos Kovacs takes the direct free kick.
The assistant referee signals for offside against Andre Gray. Indirect free kick taken by Neil Ashton.
Handball decision goes against Craig McAllister. Free kick taken by Neil Ashton, Jay Harris takes a shot.
Booking Adam Watkins shown a yellow card.
Jay Harris fouled by Adam Watkins, the ref awards a free kick.
Andre Gray takes a shot. Joslain Mayebi makes a save. Corner from the right by-line taken by Robbie Willmott, save made by Joslain Mayebi.
Inswinging corner taken right-footed by Robbie Willmott, clearance made by Nathaniel Knight-Percival.
Shot from just outside the box by Robbie Willmott goes over the bar.
Free kick crossed right-footed by Robbie Willmott from left wing.
Substitution Stuart Fleetwood goes off and Craig McAllister comes on.
Adrian Cieslewicz challenges Robbie Willmott unfairly and gives away a free kick.
Substitution Andrew Morrell leaves the field to be replaced by Danny Wright.
Foul by Curtis Osano on Mathias Pogba, free kick awarded. Direct free kick taken by Neil Ashton.
Mathias Pogba is flagged offside by the assistant referee. Mark Tyler takes the free kick.
The ball is delivered by Neil Ashton, George Pilkington makes a clearance.
Adam Watkins takes a shot. Comfortable save by Joslain Mayebi.
Unfair challenge on Alex Lawless by Jamie Tolley results in a free kick. Mark Tyler takes the direct free kick.
Nathaniel Knight-Percival fouled by Andre Gray, the ref awards a free kick. Neil Ashton takes the free kick.
The referee blows for offside. Joslain Mayebi takes the indirect free kick.
Inswinging corner taken by Dean Keates.
Unfair challenge on Neil Ashton by Stuart Fleetwood results in a free kick. Neil Ashton takes the free kick.
Dean Keates takes a corner.
Inswinging corner taken by Jamie Tolley from the left by-line, Keith Keane manages to make a clearance.
Header from deep inside the penalty area by Andre Gray goes harmlessly over the crossbar.
The referee blows for offside against Andre Gray. Indirect free kick taken by Joslain Mayebi.
Corner taken by Jamie Tolley, George Pilkington makes a clearance.
Andrew Morrell fouled by Keith Keane, the ref awards a free kick. Dean Keates shoots direct from the free kick. Inswinging corner taken by Dean Keates. Inswinging corner taken by Dean Keates, Alex Lawless makes a clearance.
Corner taken by Jamie Tolley from the left by-line.
Alex Lawless concedes a free kick for a foul on Stephen Wright. Stephen Wright takes the direct free kick.
Stephen Wright sends in a cross, George Pilkington manages to make a clearance.
The referee starts the second half.
45:00 +2:05 Half time
Half Time The match has reached half-time.
Stuart Fleetwood produces a right-footed shot from the edge of the area and misses to the left of the target.
Inswinging corner taken by Jamie Tolley, clearance made by Alex Lawless.
Keith Keane concedes a free kick for a foul on Jay Harris. Free kick taken by Joslain Mayebi.
Outswinging corner taken left-footed by Jake Howells played to the near post.
Robbie Willmott takes a shot from deep inside the box clearing the bar.
Unfair challenge on Keith Keane by Mathias Pogba results in a free kick. Free kick taken by Janos Kovacs.
Foul by Jake Howells on Jay Harris, free kick awarded. Stephen Wright restarts play with the free kick.
Keith Keane takes a shot. Joslain Mayebi makes a save.
Unfair challenge on Mathias Pogba by Jake Howells results in a free kick. Direct free kick taken by Neil Ashton.
The ball is crossed by Stuart Fleetwood, Jake Howells takes a shot.
Andre Gray takes a shot. Save by Joslain Mayebi.
Outswinging corner taken left-footed by Jake Howells, clearance by Andrew Morrell.
Assist on the goal came from Andre Gray.
29:36 Goal scored
Goal - Stuart Fleetwood - Luton 2 - 0 Wrexham Stuart Fleetwood gets on the score sheet with a goal from just inside the area to the bottom left corner of the goal. Luton 2-0 Wrexham.
The ball is sent over by Neil Ashton, Andrew Morrell takes a shot. Mark Tyler makes a save.
Corner taken left-footed by Jake Howells, George Pilkington takes a shot. Mark Creighton makes a clearance.
Andre Gray is flagged offside by the assistant referee. Joslain Mayebi restarts play with the free kick.
The assist for the goal came from Stuart Fleetwood.
22:00 Goal scored
Goal - Andre Gray - Luton 1 - 0 Wrexham Andre Gray gets on the score sheet with a goal from inside the area to the top right corner of the goal. Luton 1-0 Wrexham.
Adam Watkins produces a left-footed shot from just outside the penalty box that goes wide left of the target.
Jake Howells is flagged offside by the assistant referee. Indirect free kick taken by Joslain Mayebi. Robbie Willmott challenges Andrew Morrell unfairly and gives away a free kick. Stephen Wright takes the free kick.
Andrew Morrell takes a shot. Save by Mark Tyler.
Corner taken short by Jake Howells, save by Joslain Mayebi.
Dean Keates concedes a free kick for a foul on Andre Gray. Alex Lawless takes the free kick.
Unfair challenge on Nathaniel Knight-Percival by Andre Gray results in a free kick. Neil Ashton takes the direct free kick.
Shot from outside the box by Robbie Willmott goes wide right of the target.
Corner taken by Robbie Willmott, Mark Creighton manages to make a clearance.
Mathias Pogba produces a cross, Janos Kovacs manages to make a clearance.
The ball is crossed by Adam Watkins, Nathaniel Knight-Percival makes a clearance.
Inswinging corner taken by Robbie Willmott, Janos Kovacs has a headed effort at goal from close in which goes wide left of the goal.
Robbie Willmott sends in a cross, clearance made by Mark Creighton.
Free kick awarded for a foul by Jay Harris on Jake Howells. The ball is swung over by Robbie Willmott, Stuart Fleetwood takes a shot. Save by Joslain Mayebi.
The referee starts the match.
Live text and data provided by The Press Association
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.