Benn scored with just under six minutes left in the first period to put Canada in front. Ryan Getzlaf drew an assist on the goal after straddling the blueline with the puck and setting up Benn with a pretty feed.
Tatar, a Detroit Red Wings prospect, scored on a hard snap shot early in the second period to even things up.
Eberle scored from a bad angle after some hard work by Evander Kane caused a turnover in the Slovakia zone, putting Canada back in front mid-way through the second period.
Ladd scored with a high shot from the slot with 4:35 remaining to make it 3-1 for Canada.
Milan Batovic scored three minutes into the third to pull Slovakia within one, just minutes after Canada's Jeff Skinner had rifled one off the crossbar, but the Slovaks would not be able to come up with another equalizer.