Paul Newlove created early tries for Anthony Sullivan and Karle Hammond before crossing the line himself on the hour.
With Tommy Martyn dummying his way through for a solo try after 33 minutes, St Helens had the tie sewn up at half-time when they led 14-0.
Saints' 18-year-old scrum-half Lee Briers, who proved to be an adequate deputy for the suspended Bobbie Goulding, extended Saints' lead with a penalty before Newlove stormed over from 30 yards out to put the game beyond Keighley's reach.
The visitors put the seal on an impressive show when substitute Paul Anderson took Chris Joynt's pass to race over for his side's fifth try 12 minutes from the end.
Leeds eased their way to a fifth successive Challenge Cup semi-final with a 32-12 win over Featherstone. Barrie McDermott got them on the way in the 12th minute only for Danny Baker to score the first of his two storming tries for Rovers.
Anthony Farrell and Martin Masella quickly put Leeds back in front from which they never looked back, finishing with six tries.
The final club in tonight's draw is Salford who had a convincing 29-10 win at Warrington on Saturday.Reuse content