Seven second-tier sides fell at the first hurdle on Tuesday – with Derby joining them 24 hours later – but North End progressed thanks to strikes from Jordan Hugill, Keane and Josh Brownhill.
Joe Garner, scorer of four goals the last time these two met, was kept up Simon Grayson’s sleeve but his chosen starting strike-force threatened to dismantle the Alex anyway.
Hugill struck the opener with a penalty after five minutes, earning the spot-kick himself having stolen in front of goalkeeper Ben Garratt, who caught the striker as he was attempting to clear.
Manchester United loanee Keane added a second eight minutes later, steadying himself to slam home when Hugill’s header hit a defender and fell into his path.
Hugill should have put the tie to bed following a brilliant one-touch move involving Keane and Brownhill but the Middlesbrough-born forward fluffed his lines.
And Crewe had half-time hope as Adam King swept in a first-time left-footed effort from the edge of the area.
Brownhill drove against the outside of a post from 25 yards at the start of the second period, while at the other end Lilywhites goalkeeper Jordan Pickford scooped Marcus Haber’s header off the line with his right hand.
North End pushed for a third and after Keane bent wide and Greg Cunningham’s header hit the top of the crossbar, Brownhill scored an 86th-minute third when substitute Garner’s headed effort dropped in his lap.