The world number one, who has claimed 15 titles in the last 16 months and is bidding for her ninth this season, will play either second-seeded Victoria Azarenka or former world number one Jelena Jankovic of Serbia.
Li ended in unfortunate fashion, double-faulting on a set point in the first and again on match point in the second.
Williams claimed her eighth win in nine matches against Li, who had not played in the previous round when opponent Agnieszka Radwanska withdrew to attend a funeral in her native Poland.
China’s former Roland Garros winner had a bad day on serve, double-faulting on a set point in the first set and ending the contest after 83 minutes with the same costly error on match point.
Williams has won 15 titles in the last 16 months including a personal-best eight in 2013. Her previous best in Cincinnati was a semi-final in 2006 when it was a smaller women’s-only tournament.
“When you win a lot you develop a lot of confidence and a belief that you can do well,” said the 31-year-old.
“I’ve been training more and enjoying it a lot over the past year and a half.”
Williams also won the US Open Series title which gives her a chance at a one million-dollar bonus should she win the US Open which begins a week from Monday.
The American admitted to dealing with an abdominal muscle problem this week but did not go into details, saying she did not want to tape it for fear it might hinder her movement.
The top seed went up 4-1 in the first set only to be pegged back by Li, who then served for the match but failed. Williams levelled at 5-5 on another of Li’s eight serving errors and then broke again to win the set after 47 minutes.
The American then trailed in the second but with Li again unable to serve out. The top Chinese finally went down to defeat after losing serve seven times.
The win earned Williams a 60-3 record this season.