En los dobles decisivos, Vasek Pospisil y Denis Shapovalov vencieron a Karen Khachanov y Andrey Rublev por 6-3, 3-6, 7-6 (5).
Los canadienses, que juegan la Copa Davis desde 1913, se enfrentarán en la final Gran Bretaña o España, que jugó en la otra semifinal más tarde el sábado.
El dos veces campeón, Rusia, estaba tratando de llegar a la final por primera vez en 12 años.
Rublev puso a los rusos por delante derrotando a Pospisil 6-4, 6-4 en los primeros sencillos, y Shapovalov igualó el empate derrotando a Khachanov 6-4, 4-6, 6-4.
En los dobles, los canadienses perdieron 3-0 en el desempate del tercer set, pero se recuperaron y convirtieron su segundo punto de partido.
Pospisil y Shapovalov han jugado todos los partidos para Canadá, que ganó el Grupo F al derrotar a los ex campeones Italia y Estados Unidos, y luego eliminó a otro ex campeón Australia en los cuartos de final. Nunca había vencido a los Estados Unidos o Australia en la Copa Davis.
Los canadienses impresionaron en Madrid sin dos de sus tres mejores jugadores. Milos Raonic estaba lesionado y Felix Auger-Aliassime estaba con el equipo pero también lesionado.
Pospisil, número 150, no perdió un set en singles esta semana hasta su derrota ante Rublev. Shapovalov, de 20 años y número 15 del mundo, también ganó tres de sus cuatro sencillos.
Rusia, que ganó sus títulos de la Copa Davis en 2002 y 2006, también usó solo Khachanov y Rublev.