The 55-year-old replaces Roberto Di Matteo who was sacked after just 12 games last week.
Bruce returns to management after quitting Hull in the summer with Villa 19th in the Championship, just two points above the relegation zone.
Bruce said: “It’s a wonderful opportunity. It is one of the big clubs of this country. To be given the opportunity to manage it is terrific.
“I relish the challenge of trying to take the club where it wants to go and needs to be — and try to turn around the misfortune we seem to have had over the past few years.
“I am absolutely delighted to have been given the chance. I hope I can do my stuff.”
Bruce becomes Villa’s sixth manager, both caretaker and full time, since Tim Sherwood was appointed in February 2015.
His first game will be Saturday’s local derby against Wolves at Villa Park with the club already 15 points behind leaders Huddersfield.
Bruce has always been the leading contender for Villa, who also interviewed assistant manager Steve Clarke, after Di Matteo was axed.
They were interested in Huddersfield’s David Wagner and Brentford boss Dean Smith but turned to Bruce, despite being impressed by Clarke, who has reportedly now left the club.
Chief executive Keith Wyness, ex-boss Brian Little and technical director Steve Round advised owner Tony Xia, who had the final say.
Bruce spent six years at Birmingham manager, leaving in 2007, and has won promotion to the Premier League four times, twice with Blues and twice with Hull.
The Tigers beat Sheffield Wednesday 1-0 in the play-off final last season but Bruce walked away in the summer after a disagreement over transfer policy with the owners.
He was also interviewed for the England job in the summer before he left the KC Stadium but lost out to Sam Allardyce.
Xia added: “I’m delighted to welcome Steve to the club. With his track record, not only at leading teams to promotion from the Championship but also vast experience in the Premier League, I believe we have secured the services of an excellent manager.”
In other managerial news, Steve McClaren has returned to Derby as the club’s new manager, the Rams have confirmed.
The former England boss has made his comeback to the iPro Stadium 17 months after leaving and has signed a deal until 2018.
McClaren has replaced Nigel Pearson after he left last week following a suspension and club investigation into his conduct last month.
“I am excited to be back at Derby County as the club’s manager,” he said.
“I have a great affiliation with the club, having been here on three previous occasions, and I am really delighted at the prospect of finishing what we started back in September 2013.
“I regret how my time at Derby ended back in 2015 and I am very motivated to put things right for the club and our supporters.
“My ultimate aspiration remains exactly what it was before, to take Derby County back to the Premier League.”