Moon nominated Lee after winning elections earlier this month to replace former president Park Geun-hye, who was impeached after a corruption scandal.
The appointment of Lee, 65, was approved with 164 votes from the 299-member National Assembly, of whom 188 members voted. Twenty assembly members voted against Lee's nomination, two abstained and two votes were disqualified.
A simple majority of votes is required to approve a prime minister designate.
The presidential Blue House said shortly after the vote that Moon would formally appoint Lee as prime minister later on Wednesday but did not offer any other immediate response to the vote after the results were announced.
Lee faced some criticism from lawmakers during his confirmation hearings over residence registration documents that were considered to be intentionally inaccurate. Lawmakers from the opposition Liberty Korea Party had demanded Lee withdraw his name over other allegations, which included tax evasion.
Lee denied the allegations.
The Liberty Korea Party eventually boycotted the vote.
The role of prime minister is largely ceremonial in South Korea, although Moon has vowed to share more power with Lee.
(Reporting by Christine Kim; Editing by Paul Tait)
(Except for the headline, this story has not been edited by NDTV staff and is published from a syndicated feed.)
Get the latest election news, live updates and election schedule for Lok Sabha Elections 2019 on ndtv.com/elections. Like us on Facebook or follow us on Twitter and Instagram for updates from each of the 543 parliamentary seats for the 2019 Indian general elections.