The Lionesses made a dream start with two goals in three minutes as Jodie Taylor, making her first World Cup start nine weeks after knee surgery, capitalised on Lauren Sesselmann's blunder.
Lucy Bronze then headed in Fara Williams' free-kick to double the advantage.
England goalkeeper Karen Bardsley continued her mixed World Cup when she gifted Christine Sinclair a goal three minutes before the break.
But in a second half in which Mark Sampson's side became disjointed, England held on for a famous win that sparked joyous celebrations at the final whistle.
England had already broken new ground by winning their first World Cup knockout game in the last 16, when they beat Norway.
But the result means Welshman Sampson has guided a senior England side, men's or women's, to a World Cup semi-final for the first time since 1990.
As in their final group game win over Colombia, England started fast and then dug deep to keep Canada out as they matched the victory they inflicted over John Herdman's side in this year's Cyprus Cup.
Although they did not reach the heights of their second-round win over Norway, they will now travel to Edmonton to face a team they beat in the group stages of the last World Cup before Japan went on to lift the trophy.