The two-out shot made it 1-0 for the visiting Mets. He also had an RBI single in the eighth inning, producing both runs in the Mets' 2-0 victory.
Cano became the first Mets player with an Opening Day homer since David Wright, Andrew Brown and Juan Lagares each homered on March 31, 2014.
Scherzer, a three-time Cy Young Award winner, struck out the other three batters he faced in the opening inning of 2019 -- including Pete Alonso, the first baseman making his major league debut.
It took Cano 15 games and 45 at-bats to hit his first home run last season.
Cano became the first Mets player to go deep in his initial at-bat with the club since Mike Jacobs in 2005, and the 10th overall.
Meanwhile, it was his play at second base that was the talk of both clubhouses.
The Nationals had runners at the corners in the third, but Jacob deGrom struck out Trea Turner, then got Anthony Rendon to hit a grounder to third. The runner there, 21-year-old rookie Victor Robles, hesitated before heading home. Cano took the throw from third for the forceout at second, then zipped the ball to the plate. Robles wound up tagged out for a 5-4-2-5 double play.
"He's probably the only guy in baseball that makes that play, and it was a no-look pass to home, to boot,'' Mets manager Mickey Callaway said. "The runner at third probably did the wrong thing -- and Cano made him pay.''
Robles acknowledged as much.
"To be honest, I got a little confused,'' Robles said through a translator. "In the middle of the moment, I realized I had made the mistake, so I tried to kind of make up for it.''
ESPN Stats & Information and The Associated Press contributed to this report.