The final will be a rematch of the 2012 U.S. Open final, which Williams won 6-2, 2-6, 7-5.
Azarenka is looking to add a U.S. Open championship to her Australian Open wins in 2012 and '13.
Azarenka is just 3-12 versus Williams all-time but two of those wins have come this year.
Williams, who has dropped just 16 games in her six matches in the tournament, started very strong, winning the first seven games against Li. Going back to her fourth-round match and her quarterfinal -- a 6-0, 6-0 whitewash of Carla Suarez Navarro -- Williams won 24 consecutive games.
Li broke that string, broke Williams' serve and went up 40-0 in the next game but Williams answered by taking the next four games. Li fought off six match points in taking the very lengthy eighth game but Williams prevailed on the seventh opportunity.
Williams cashed in six of her 11 break chances -- the five she didn't were all match points -- while losing her serve once. She took 53 percent of the points off Li's serve while winning about two-thirds on her own serve.
Azarenka's win Friday was decisive if far from pretty. She had 25 unforced errors, including six double faults, against 15 winners. She was good on just 56 percent of her first serves and won 47 percent of the points when serving.
Pennetta managed to hold serve just once in nine games, with Azarenka taking 67 percent of the points when Pennetta served.
Azarenka dropped her own serve five times and wasn't able to secure the first set until her sixth set point opportunity. She needed three tries at match point before finishing off the win.