The late drama was out of keeping with much of a fairly forgettable match, which had seemed destined to be settled by Crouch's first league goal since before Christmas.
There was little in the early stages to give either set of fans much to cheer about but things picked up when David Nugent shot against the post after a neat one-two with Crouch.
Tuncay gave the visitors a scare with a header into the side-netting, but Portsmouth were the first side to find the target when Crouch scored on the half-hour.
A quickly-taken Jermaine Pennant corner was played to Glenn Johnson, whose pass found Crouch on the edge of the box, and he twisted to volley the ball home.
Players earned the draw - Southgate
The impressive Pennant limped off with a calf injury, to be replaced by Nadir Belhadj, and the substitute came close to setting up Crouch for a second, but the unmarked striker failed to connect properly with his cross and Brad Jones saved.
Boro captain Emmanuel Pogatetz failed to come out for the second half because of injury and he was replaced by Andy Taylor, with Stewart Downing taking the armband.
While the home side were adjusting, Nico Krancjar could easily have doubled Pompey's lead with a 25-yard free-kick that just crept over the bar after a foul by Bates, which earned him a first yellow card.
The narrow escape finally roused Boro into action and Robert Huth set up King for a decent chance around the hour mark, but Sylvain Distin got enough of a touch to divert it for a corner.
Tuncay was then denied by a brilliant point-black reflex save from James before a double change saw the visitors take off Nugent and replaced him with midfielder Richard Hughes, a clear signal that they were prepared to sit on their lead, and Boro respond by sending on Alves for Julio Arca.
Hart can't fault Pompey effort
But this positive gesture looked to have been rendered meaningless when Bates received his second yellow care for diving.
In injury time Boro fans shouted for a penalty when David Wheater and James collided in mid-air, but despite their hefty collision the Boro defender himself made no claim for a spot-kick.
Salvation arrived for Boro, however, when King was perfectly placed to poke home after McMahon's header was blocked.
Alves had a chance to pull off an unlikely victory when he ran through right at the death, but James blocked his low effort to preserve a point for Portsmouth which they deserved on the overall balance of play.
Middlesbrough manager Gareth Southgate on Martin Atkinson dismissing Matthew Bates for diving:
"He is an excellent referee but it was a strange decision.
"But it changed the course of the game because the crowd then came back behind us.
"It could be a crucial point and we are still in there fighting."
Portsmouth manager Paul Hart:
"It is very, very disappointing because going into the last minute in front you think you've cracked it. But if you had asked me before if I would have settled for a point I would have said yes.
"We are not shipping goals like we were, and goal difference could turn out to be important in the final reckoning."
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.