The big-serving 19-year-old dropped to her knees in celebration after beating world number 36 Santangelo in 96 minutes.
Shvedova, ranked 143rd going into the tournament, maintained the form that helped her beat seventh-seeded Thai Tamarine Tanasugarn in the second round and Indian second seed Sania Mirza in the quarter-finals.
Moscow-born Shvedova broke Santangelo in the seventh game to win the opening set in 44 minutes after trading breaks early on.
The Russian then held on to an early break to win the second set.
"She played better than me... congratulations to her," 25-year-old Santangelo said at the prize ceremony.
"I tried my best. It has been a great week for me... I reached the final," she added.