The second-seeded Vinci was broken in the first game but she broke back twice before serving out the opening set.
Errani, who won this tournament in 2008 and 2012, seemed to recover and raced into a 5-1 lead in the second set before leveling the match.
But Vinci stormed into a 4-0 lead in the final set and then held off the sixth-ranked Errani's comeback attempt to secure her ninth career victory.
The win also ends a streak of five successive victories for Errani over her close friend, with whom she also tops the world doubles rankings.