The Ulster county held a commanding 0-12 to 0-6 lead at half-time but the visitors hit back to claim a place in the third round of the qualifiers.
Tipp rattled off seven points after the break to level the match as Cavan managed just one Niall McDermott score.
Conor Sweeney's penalty and a second goal by Robbie Kiely sealed the win.
Media playback is not supported on this device
"I am gutted. I thought we were fabulous in the first half, playing some of the best football we have played this year," said Cavan manager Mattie McGleenan.
"But you have to play for two halves, and we didn't.
"In the first 15 minutes of the second half we just could not win a ball. Every breaking ball went to Tipperary.
"I felt the referee gave them a couple of soft frees at the start of the second half and they gained a bit of momentum at a critical stage of the game.
"Tipperary were hungry and their movement for the goal was class. We were caught ball-watching."
Gearoid McKiernan, Martin Reilly, Tomas Corr and Caoimhin O'Reilly each scored two points as Cavan built that six-point interval advantage.
But Tipperary started the second period strongly with four straight scores by Conor Sweeney, Kevin O'Halloran, Jack Kenedy and Brian Fox.
McKiernan landed a free for the hosts but it proved a brief interruption to Tipp's scoring spree and they levelled through scores by O'Halloran, Kennedy and Philip Austin.
Sweeney's penalty - awarded for a Jason McLoughlin foul on Austin - put Tipperary three points up, and when centre-back Kiely netted they led by 2-13 to 0-14.
Cavan reduced the deficit with a couple of late points - but the damage had been done.
Cavan's All-Ireland Championship campaign came to a stunning end as Tipperary staged a remarkable comeback at Kingspan Breffni.