Earnshaw's first tally came 3 minutes into the game when he intercepted an errant pass from Kansas City's Matt Besler and put the ball past defenseless SKC goalkeeper Jimmy Nielsen.
The Welsh forward doubled the lead for Toronto (1-1-0) on a 21st-minute penalty kick after Paulo Nagamura tripped up TFC midfielder John Bostock in the box.
Claudio Bieler scored off a feed from C.J. Sapong in the 77th minute for Kansas City (1-1-0).
Kim Kardashian, Kanye West reportedly set wedding date
NBC reportedly holds celebs hostage to Jimmy Fallon's show