Williams, who beat her top-ranked younger sister Serena to reach the Rogers Cup final, where she lost to Poland's Agnieszka Radwanska, looked like she might be ready to make another run in Cincinnati after taking the opening set in a tiebreak.
However, the seven-times Grand Slam champion could not convert any of her four break chances in the second while Safarova converted her one and only opportunity to level the match.
Czech Safarova, a Wimbledon semi-finalist, stepped up the pressure in the third with two more breaks to clinch her first win in five career meetings against the 34-year-old American.
"It was definitely a quick turnaround, maybe would have been a little better to play a little later in the day," said Williams, back in top 20 for first time since March 2013 following her runner-up finish at Montreal.
"But she just played so well. No matter what shot I hit she hit a winner, or if I hit it really deep she somehow managed to control it down the line."
Fifth seed Maria Sharapova needed three sets to dispose of American Madison Keys in her evening second round contest, finally prevailing 6-1 3-6 6-3 in just under two hours.
In the other feature second round contests Denmark's Caroline Wozniacki made short work of China's Zhang Shuai 6-2 6-3 win and second seed Simona Halep won 6-4 6-2 over Kirsten Flipkins.
Wozniacki, a title winner last month in Turkey, was a class above the world number 31 Zhang, who was bounced out in the first round of her previous four tournaments.
Halep, playing her first match since moving to a career high world number two, saved seven of nine break points on the way to victory in 87 minutes.
Earlier Spanish 15th seed Carla Suarez Navarro, an upset winner over Sharapova in Montreal, was also made to work for her spot in the second round, needing three-sets to tame Bulgarian Tsvetana Pironkova 6-3 1-6 6-2.
Cincinnati Open results
2-Simona Halep (Romania) beat Kirsten Flipkens (Belgium) 6-4 6-2
12-Caroline Wozniacki (Denmark) beat Zhang Shuai (China) 6-2 6-3
5-Maria Sharapova (Russia) beat Madison Keys (U.S.) 6-1 3-6 6-3
Sloane Stephens (U.S.) beat Andrea Petkovic (Germany) 6-3 6-3
Svetlana Kuznetsova (Russia) beat Camila Giorgi (Italy) 6-4 6-7(4) 6-3
Annika Beck (Germany) beat Garbine Muguruza Blanco (Spain) 6-3 2-6 6-3
14-Sara Errani (Italy) beat Yanina Wickmayer (Belgium) 7-5 3-6 7-6(2)
Barbora Zahlavova Strycova (Czech Republic) beat Mona Barthel (Germany) 7-5 6-0
16-Lucie Safarova (Czech Republic) beat Venus Williams (U.S.) 6-7(2) 6-3 6-4
Ekaterina Makarova (Russia) beat Daniela Hantuchova (Slovakia) 6-2 6-2
Zarina Diyas (Kazakhstan) beat Irina Begu (Romania) 7-6(4) 7-6(5)
15-Carla Suarez Navarro (Spain) beat Tsvetana Pironkova (Bulgaria) 6-3 1-6 6-2
Christina Mchale (U.S.) beat Nicole Gibbs (U.S.) 4-6 6-3 6-1
Kurumi Nara (Japan) beat Romina Oprandi (Switzerland) 6-0 6-2