The world number one was pushed all the way in the first set and had to pull off some stunning shots to keep 25th seed Schiavone at bay before taking control in the second.