Petrino, 52, coached at Louisville from 2003-06, building a 41-9 record and four bowl appearances. He most recently was the coach at Western Kentucky.
Petrino replaces Charlie Strong, who resigned to become the head football coach at Texas.
"I'm glad to be home," Petrino said Thursday when introduced as Louisville's coach.
Terms of the contract with Louisville weren't announced but the Louisville Courier-Journal said the agreement was for seven years, worth $24.5 million, including a $10 million buyout and a morality clause.
After the Cardinals beat Wake Forest 24-13 in the 2007 Orange Bowl, Petrino left to coach the Atlanta Falcons. He lasted just 13 games -- the Falcons were 3-10 -- before resigning to take over the Arkansas Razorbacks' football program.
In April 2012, Petrino had a motorcycle accident and it was disclosed he was riding with a women he'd hired as a Razorback Foundation fundraiser and with whom he was having an affair. Petrino was fired April 10.
That December he was hired at Western Kentucky and posted an 8-4 season in 2013 with the Hilltoppers before returnign to Louisville. His overall college coaching record is 83-30 in nine seasons.
"I've made mistakes, both personally and professionally," Petrino said Thursday. "The first mistake was leaving the University of Louisville. I'm just so happy to be back home."