Nigel Clough's Derby went in front after five minutes through Miles Addison, but Darren Ferguson's Peterborough levelled through a George Boyd penalty only for Teale to win it in the 87th minute.
The result was tough on the visitors who regrouped after a poor start to create enough chances to have at least equalised before the penalty.
Derby had dominated much of the first half, but only had Addison's goal to show for their efforts and the Posh wasted the first of a number of chances when Aaron McLean put Tom Williams' cross wide from six yards.
Paul Green had been a key figure in midfield for the Derby but when he went off at half time, the home side lost much of their control.
It was Green who provided the left-wing cross that was headed back by Jake Buxton for Addison to score with a brave diving header.
Peterborough were on the back foot for the first 25 minutes, but they started to find space to set up their front men in the second half and they created four excellent chances in the space of five minutes.
Aaron McLean failed to find a telling finish, Craig Mackail-Smith was denied by a great saving tackle from Dean Moxey and Stephen Bywater blocked out Lee Frecklington.
But Peterborough's positive approach was rewarded in the 83rd minute when sub Shaun Batt punished a mix-up between Bywater and Paul Connolly and was brought down.
Boyd sent Bywater the wrong way with a coolly taken spot-kick, but the celebrations of the travelling fans was cut short when Derby hit back three minutes from time.
Joe Lewis failed to deal with a cross and after Addison headed against the bar, Steve Davies knocked the ball goalwards and Teale got the final touch in a crowded six-yard area to give Derby an opening day win for the first time in seven years.