The third seed was pushed all the way in Beijing by the Canadian, but came through without needing a decider.
After 10 holds of serve in the first set, both men had break-point chances to avoid it going to a tie-break, but neither could take them.
Nadal was faultless on serve in the breaker and broke Pospisil twice to win 7-3 and gain the advantage.
The second set was a little easier for the Spaniard as he broke world number 44 Pospisil on one occasion to claim the set and match 6-4.
Nadal will face American Jack Sock in the last eight.