Collins has joined Bruno Lage's side on a five-year contract with the option to extend for a further year.
The 21-year-old thus becomes the most expensive Irish player of all time, surpassing the £19m Liverpool paid to sign Robbie Keane from Tottenham Hotspurs in 2008.
Collins joined Burnley from Stoke City last summer and made 22 appearances across all competitions in his sole season at Turf Moor.
Wolves were in need of reinforcement at the back following the departure of Roman Saiss at the end of his contract.
Wolves technical director Scott Sellars said of Collins' arrival: "We've looked at Nathan for a while. We think we've signed a player with a lot of potential, as well as being a very good footballer now.
"We're getting someone who is physically very good, very tall, very athletic, and is very comfortable on the ball - he can step in and take the ball forward, which is what we need. He's very good in both boxes and has real aerial strength.
"The feedback on his personality is about his leadership qualities, he's a good character, so he ticks all the boxes. He comes across as expected, a humble young man who is appreciative of the opportunity, so we're all going to be very happy."
Collins has won six caps for the Republic of Ireland national team.