The 25-year-old initially joined Championship Boro on loan for the remainder of the season but has now signed a three-and-a-half year deal with the two clubs having agreed an undisclosed fee.
Tomlin has scored 10 goals for Posh this season but is yet to play for the Teessiders after being sent off in his final appearance for the League One side in a 5-4 defeat at Oldham on January 25.
That was the frontman's third red card of the season and cost him a lengthy ban.
He could make his debut for Aitor Karanka's side in Saturday's home clash with Leeds, where they will attempt to end a run of five games without a goal.
- Sports & Recreation