The vote was 96-to-4, with three Democrats and Independent Sen. Bernie Sanders voting no, Fox News reported.
During her confirmation hearing in the Senate Foreign Relations Committee, Haley declared her support for moving the U.S. Embassy in Israel from Tel Aviv to Jerusalem, a change that has the potential to trigger increased violence in the Middle East.
She also took a hard line against Russia, saying she doesn't think Moscow can be trusted right now.
Read alsoReuters: Trump UN pick echoes his criticism but breaks from him on RussiaThe two-term Republican governor gained national prominence in 2015 when she signed a bill that finalized the removal of a Confederate flag from the South Carolina statehouse grounds, following the killing of nine black churchgoers in Charleston.
Maryland Sen. Ben Cardin, the committee's top Democrat, backed Haley's nomination.
He said what the 45-year-old Haley lacks in foreign policy experience, "she makes up for in capability, intelligence, and a track record of building coalitions in South Carolina."
Haley's parents immigrated to the United States from India, and she was the state's first female governor.