Wozniacki, who has won a WTA-leading five titles this year, was up 5-1 in the second set and looking to rally from a set down. However, the No. 22-ranked Italian stormed back with three break points to complete the upset.
Williams, a 13-time Grand Slam tournament champion, used her intimidating serve, which topped out at nearly 122 mph, to roll through her first set before the 20th-ranked German fought back in the second.
Wozniacki had a bye in the first round and never really got going against Vinci, sending her return long on match point. Wozniacki also hit returns long twice at the first set point.
"I would have liked to have won that one and especially after leading 5-1 in the second," Wozniacki said. "It's not fun to lose this, but there's nothing really I can do about it now, just practice and try to do better."
Windy conditions wreaked havoc with Wozniacki's serve in the first set, as the ball repeatedly floated away when she tossed it above her. She had seven double-faults in the match.
"It was very difficult at first with the wind," Wozniacki said. "Especially when you threw it up. It was going everywhere, so definitely that didn't make it easy. It was blowing in different directions, but it's the same for both players."
Vinci reached the third round of the Rogers Cup in her third time in the tournament. She has wins this year in Barcelona, Budapest and Hertongenbosch.
"This is the best victory in my life," the 28-year-old Vinci said. "I was 5-1 down but I knew that I can win the set because it was a lot of wind, so some mistakes. I tried to stay focused and play aggressive. That's it, this is the key why I won the set."
Williams also complained about the wind, which swirled around the court with gusts up to 22 mph.
"I thought (Goerges) played really well and really smart, the conditions were extremely tough. I thought that she had to change up her game and I had to adjust to that," Williams said. "It was just so much wind out there so it was a little difficult, but we were in the same circumstances so that's what I tried to think of. But she played really well."
Williams giggled when asked if her powerful serve gives her an advantage in the wind.
"I had to hit it softer today because it was so windy, I had to take pace off my ball," she said. "If you hit it too hard the ball is going to totally fly the harder you hit."
Sharapova's serve abandoned her in a second set that saw her commit five double-faults. The three-time Grand Slam champion finally sealed the victory when Jovanovski fired a return long.
"I expected my opponent to play well today because she's dangerous, although she's a qualifier she's someone who's moving up and young and eager and has beaten good players before," Sharapova said. "She's on her way up. So I knew that it was going to be a dangerous round knowing she had played a few matches already and this was my first match."
Schiavone capitalized on five of her nine break-point opportunities to win in just more than an hour, as play was temporarily halted shortly after the match due to rain.
Makarova, who advanced on Monday by eliminating Canada's Rebecca Marino, also lost to Schiavone in the second round at last year's tournament.
"Well, it's disappointing," Wozniak said. "You play at home and you want to do so well. But I thought it was a good match, and I had a really tough opponent today."
A scheduled matchup between the top two Chinese players was canceled when Shuai Peng pulled out of her second-round match against world No. 6 Li Na with a left hip injury. Peng, who came into the match ranked No. 16, said she first sustained the injury last week in San Diego.
"It is sad for her," Li said. "Always tough when you're playing same-country player. We train together, we know much (about each other). Always tough."