Kingsbury will receive a four-year deal with a team option for a fifth year. A news conference to introduce him is set for Wednesday.
"Cardinals fans, can't tell you how excited I am to be your head coach," Kingsbury said in a tweet released by the team. "Looking forward to taking the field at State Farm Stadium in front of the red sea. It's time to rise up."
The 39-year-old Kingsbury replaces Steve Wilks, who was fired Dec. 31 after one season (3-13) in Arizona.
Kingsbury was fired by Texas Tech on Nov. 25 after seven seasons, including six as head coach, and was hired by USC to be its offensive coordinator Dec. 5. Kingsbury also interviewed with the New York Jets for their head-coaching vacancy.
In Kingsbury, the Cardinals get a coach with a reputation for having success with quarterbacks. Kingsbury, who won the Sammy Baugh Trophy as the country's best collegiate quarterback while at Texas Tech in 2002, has coached Kansas City's Patrick Mahomes, Denver's Case Keenum, the Giants' Davis Webb, the Chargers' Nic Shimonek and former Browns first-round pick Johnny Manziel.
He will now be paired with Josh Rosen, whom the Cardinals drafted 10th overall in 2018 but who struggled during his rookie season, throwing for 2,278 yards, 11 touchdowns and 14 interceptions while completing 55.2 percent of his passes in 14 games. Rosen had four of the 10 worst Total QBR games in 2018.
"You see where it's going -- you see where it's been, where it's going," Kingsbury said of what appealed to him about Arizona. "Have a young quarterback, lots of salary-cap space and a team that continued to fight throughout the season."
At Texas Tech, Kingsbury's teams ranked fourth in offensive efficiency in the two full seasons when Mahomes, the breakout Chiefs star, was the starter. Only Oklahoma (first), Clemson (second) and Western Kentucky (third) were ranked higher in that span.
"Yeah, I think he can be a great NFL coach,'' Mahomes said Tuesday, before the hire was announced. "He has the work ethic. He has the passion for the game. I know that he loves the sport. So I know he'll be able to relate to quarterbacks. He would put in the work, and now it's just about him finding where he needs to be at.''
Kingsbury played for three years in the NFL, from 2003 to 2005, with the New England Patriots, New Orleans Saints and Jets. He completed one of two career pass attempts for 17 yards, in Week 11 in 2005.
He went on to play in the CFL in 2006 and 2007 before starting his coaching career at the University of Houston in 2008.
Coaching in the NFL at such a young age was not lost on Kingsbury.
"I'm excited at that," he said. "I've been around football my entire life. I played in this league, coached at the college level, and always been fascinated by the NFL and the offensive trends going on these days. I feel like it was a perfect time, and just fired up to be here."
Kingsbury's hire came after USC had initially balked at giving permission to the Jets and Cardinals to interview him, ESPN reported over the weekend.
Trojans coach Clay Helton said Tuesday that he was happy to see Kingsbury get an NFL job.
"Any time you get an opportunity to be an NFL head coach, it is special," Helton said. "He is a talented coach; that's why we brought him here. I wish him nothing but the best."
Helton said the Trojans "will spend the upcoming weeks finding the best possible fit for USC and our program."