The world number one was given a tough challenge right from the start, but that did not deter her from winning the opening set in 38 minutes.
Garcia staged a comeback in the second, as the two players were on serve through the first nine games.
The 20-year-old Frenchwoman eventually went 5-4 up and then won four straight points to wrap it up in 52 minutes.
Rain suspended play in the third set, and when the match resumed, it proved to be just as competitive as it was before.
Williams made some unforced errors after the restart, but eventually won the third set 6-4.