The Canadians captured the first leg in the two-game aggregate series by 27-9 last weekend at Charleston, South Carolina, and came into their home contest poised for a victory.
Canada advances with a 40-20 aggregate in the series.
"It was ugly, but it was a win," said Canadian head coach Kieren Crowley. "We gutsed it out, and it was a test win, so you know, we're in the World Cup now."
They join Ireland, France, Italy and another European qualifier in Pool D of the 2015 global championship in England.
The United States must face Uruguay in a home-and-away two-leg series for a berth in Pool B with South Africa, Samoa, Scotland and an Asian qualifier.
Jason Marshall and James Pritchard each scored tries, and Pritchard's boot was good for a penalty to seal the two-point victory.
Canadian captain Aaron Carpenter said this victory showed Canada that they can still win even though they were not playing their best rugby.
"It's always a big battle against them, we know what they're going to bring and they certainly brought it today," said Carpenter. "We got done what we needed to accomplish, but if you can win on a bad day it's good to see."