Djokovic, coming off his fourth Wimbledon title, beat Canadian wild-card Peter Polansky 6-3, 6-4. The Serb had seven aces and never faced a break point in the 1-hour, 25-minute match that just beat the afternoon rain.
Nadal, playing for the first time since a five-set loss to Djokovic in the Wimbledon semifinals, topped France's Benoit Paire 6-2, 6-3 at night after a series of rain delays.
A former world No. 1, Djokovic is seeded ninth in the event he last won in 2016.
"I thought I served well in the moments when I really need it," Djokovic said. "I thought I found pretty good accuracy and angles with the first serve, and also my second serve worked pretty well. Overall, my game was so-and-so. In the moments when I probably needed to step it up, I did."
Heavy morning rain delayed the match by about an hour.
Second-seeded Alexander Zverev of Germany, the winner last week in Washington, beat American Bradley Klahn 6-4, 6-4, and fourth-seeded Kevin Anderson of South Africa edged Russia's Evgeny Donskoy 4-6, 6-2, 7-6 (0).
Eighth-seeded John Isner, the American who won at Atlanta two weeks ago, beat France's Pierre-Hugues Herbert 7-6 (3), 6-2. Italy's Fabio Fognini, the No. 14 seed coming off a victory at Los Cabos, fell out with a 6-3, 7-5(14) loss to Canada's Denis Shapovalov.
Also, Karen Khachanov of Russia beat 12th-seeded Pablo Carreno Busta of Spain 6-4, 7-6 (3); Ilya Ivashka of Belarus topped American Ryan Harrison 7-6 (5), 6-4; and American Frances Tiafoe edged Canada's Milos Raonic 7-6 (4), 4-6, 6-1.
Juan Martin del Potro of Argentina withdrew because of an injured left wrist.
"Sorry to my fans in Toronto, but I have to pull out of the tournament since my left wrist needs some days of rest," Del Potro said in a tweet.
Del Potro, who had a bye in the first round after reaching the Los Cabos final last week, was set to play Robin Haase of the Netherlands. Haase instead played Mikhail Youzhny, beating the Russian 7-5, 6-2.