Bayern Munich sensation Davies broke the deadlock in the 63rd minute and Cavallini sealed the triumph in stoppage time in Toronto on Wednesday (AEDT).
It was Canada's first goals against USA since the 2007 CONCACAF Gold Cup and the country's first victory over its rival since 1985 as it stayed perfect in Group A.
USA produced a merciless performance to open its Nations League campaign with a 7-0 rout of Cuba last week, inspired by Weston McKennie's 13-minute hat-trick.
However, USA was second best and struggled to keep the ball throughout the first half in Canada, where the hosts hustled the United States out of its stride.
In a half lacking rhythm, Canada should have taken the lead in the 16th minute but teenager Jonathan David wasted two big chances.
A backpass went straight to the feet of David, who was initially denied by USA goalkeeper Zack Steffen at point-blank range before firing wide of the post.
Another chance went begging for David five minutes into the second half after the 19-year-old Canadian side-footed agonisingly wide of the near post.
USA went up the other end moments later and almost took the lead against the run of play, but Christian Pulisic's tame shot was easily dealt with by Milan Bojan after being played in by Jordan Morris.
Canada finally got their goal in the 63rd minute and it was fully deserved as Davies bundled the ball over the line after USA twice failed to clear the danger.
Only Steffen stood in between Canada and a second goal after he thwarted Junior Hoilett with 19 minutes remaining as USA's dire performance continued, but Cavallini's 91st-minute goal capped a great night for Canada.