Bradford City 1 Carlisle United 0: Jamie Walker's goal means Carlisle must come from behind to keep their promotion chances alive at Brunton Park.
Walker gave Bradford a narrow advantage in a closely-contested first leg at Valley Parade.
He took advantage to break through United's defence in the 18th minute, rifling low past Tomas Holy.
Carlisle had some big chances, with sub Ryan Edmondson heading their best opportunity over the bar from a great position in the second half - and the Blues were also aggrieved at the performance of referee Ross Joyce.
But the Cumbrians - backed by 2,415 fans in a 20,575 crowd in west Yorkshire - must now fight back on home soil next Saturday in order to reach Wembley.
Carlisle boss Paul Simpson made two changes to his XI for the first leg - recalling Joe Garner and Joel Senior at the expense of Kristian Dennis and Jack Robinson.
That saw Jack Armer revert to left wing-back having played in central defence against Sutton last time out - with Barclay moving from right wing-back into the back three.
Bantams boss Mark Hughes, meanwhile, went with an unchanged XI on home soil.
After a nervy opening spell, the home side settled quicker, Andy Cook looking to put pressure on Paul Huntington and United on the defensive.
The Blues were denied a penalty when the busy Alfie McCalmont broke forward and went down as he backed in to Sam Stubbs.
At the other end, Cook was off target with a shot while Carlisle's Ben Barclay almost forced something from an Owen Moxon delivery.
Garner hit the bar for Carlisle, though things were brought back for a Bradford free-kick - and moments later the home side scored.
United failed to prevent the hosts keeping a long Harry Lewis free-kick alive and, after beating Armer to the ball, Walker ran through to drill firmly past Tomas Holy.
A fan invaded the pitch after the opening goal and was eventually detained, while Carlisle looked to respond.
They built some better pressure as Garner and Omari Patrick tried to find a way through, Garner also engaging in regular tussles with defenders and seeking decisions from the officials with little success.
He was, though, also yellow-carded after one such battle, joining Corey Whelan - who had started on the left of the back three - in ref Joyce's book.
Walker fizzed a shot wide for Bradford on the break before United ended the half with a better spell, Moxon's set-pieces regularly examining the home defence, Whelan unable to convert one from a good position at the back post.
Holy was then alert to make a smart save from Scott Banks in first-half added time as Carlisle reached the interval one behind.
Cook saw a shot deflected wide early in the second half before McCalmont aimed a volley on target which was too straight to worry home keeper Harry Lewis.
Simpson made a double change on 58 minutes, Dennis and Edmondson replacing Patrick and Garner, and Edmondson winning a corner with which Moxon again tested Bradford, but neither Whelan nor Edmondson able to get the decisive final touch.
Edmondson then engineered another chance on the right but found the eventual angle too tight, before Callum Guy went off after injuring his arm, Taylor Charters taking his place.
Cook had a sight of goal on 73 minutes for Bradford but saw his shot blocked by Huntington as things remained finely poised.
And Carlisle should then have levelled when Armer picked out Edmondson with a pinpoint cross, but the sub headed over from a great position.
Bradford looked anxious in the closing stages as United kept on looking for a way back, while ambitious home penalty appeals when Whelan challenged Banks were dismissed by the ref.
Carlisle forced one more late chance, sub Dennis latching onto the ball on the left and trying to go around Lewis, but the angle was too tight as he shot wide.
That was as close as either side got late on and things now remain on a knife-edge as the teams prepare for Saturday's second leg at Brunton Park.
The attendance at Bradford, meanwhile, was a fourth-tier record for a play-off semi-final game.
Bradford: Lewis, Halliday, Ridehalgh, Stubbs, Crichlow, Clayton (Derbyshire 88), Smallwood, Gilliead, Banks (Platt 88), Walker (Osadebe 65), Cook. Not used: Doyle, East, Pereira, Nevers.
Goal: Walker 18.
Carlisle: Holy, Barclay, Huntington, Whelan, Senior (Gibson 85), Armer, Guy (Charters 69), Moxon, McCalmont, Patrick (Edmondson 58), Garner (Dennis 58). Not used: Kelly, Harris, Robinson.
Booked: Whelan, Garner.
Ref: Ross Joyce.
Crowd: 20,575 (2,415 United fans).
Comments: Our rules
We want our comments to be a lively and valuable part of our community - a place where readers can debate and engage with the most important local issues. The ability to comment on our stories is a privilege, not a right, however, and that privilege may be withdrawn if it is abused or misused.
Please report any comments that break our rules.
Read the rules here