She took the crown for India 21 years after Lara Dutta won the title in 2000, reports private broadcaster NDTV.
The 21-year-old from Punjab was accompanied by Paraguay's Nadia Ferreira and South Africa's Lalela Mswane on the podium.
Andrea Meza, Miss Universe 2020 from Mexico, presented the crown to Sandhu, NDTV said.
The Chandigarh-based model is the third Indian to take the prize. The previous winners were Sushmita Sen in 1994 and Lara Dutta in 2000.
"The biggest pressure the youth of today face is believing in themselves, to know that you are unique and that's what makes you beautiful,” Sandhu said in her acceptance speech.
“Stop comparing yourselves with others and let's talk about more important things that are happening worldwide."
Sandhu, who started her journey in pageantry at the age of 17, has previously been crowned Miss Diva 2021, Femina Miss India Punjab 2019 and placed in the Top 12 at Femina Miss India 2019, according to NDTV.
She has also worked in Punjabi films like "Yaara Diyan Poo Baran" and "Bai Ji Kuttange".