Match ends, Middlesbrough 0, Ipswich Town 0.
Middlesbrough missed the chance to go top of the Championship and Ipswich's play-off hopes were ended as they drew at the Riverside Stadium.
Boro remain second behind Burnley and ahead of Brighton on goal difference, with the league's top three sides equal on 87 points after 44 games.
Ipswich keeper Bartosz Bialkowski made fine saves to keep Stewart Downing and Jordan Rhodes out before the break.
Rhodes then went closest to winning it, hitting the post after the break.
Boro's 22nd Championship clean sheet of the season was enough to extend their unbeaten run to eight games, but their profligacy sees them wedged between Burnley and Brighton in the race for automatic promotion to the Premier League with two games remaining.
Ipswich's hopes of finishing in the top six were unlikely even before kick-off, with Sheffield Wednesday moving nine points clear in the last remaining play-off spot with a 1-1 draw at Derby County.
Ghana international Albert Adomah and £9m February arrival Rhodes - denied in a one-on-one by Bialkowski in the 34th minute - were particularly bright for Boro in the first half, while defender Paul Digby, making his first Ipswich start, made a crucial tackle to foil Emilio Nsue before half-time.
Gaston Ramirez was industrious for Boro after the break, and helped create the best chance of the game, only for Rhodes to hit the inside of the post after beating Bialkowski.
Ipswich Town manager Mick McCarthy:
"If I've done one person a favour it's (Brighton manager) Chris Hughton, because he's a mate and he's such a wonderful guy.
"So Chris, that's a point for you. I hope we've helped him get promoted.
"I haven't got a clue who is going to go up though. I tipped Derby when they beat us, I tipped Middlesbrough when they beat us at our place, I tipped Burnley at one stage, Hull when they beat us - all of them slapped us.
Middlesbrough manager Aitor Karanka:
"We have to be positive. I said a month ago that we were in a good position, and I would say that we are in an amazing position now.
"We have two games to go, one at home, and we are more mature now and have a better squad (than last season). We are going to be more rested than we were today. For that reason, I have to be positive and transmit a positive message.
"I don't know how many chances we need to score a goal because the score today should have been three or four-nil. We had a lot of clear chances, but we couldn't score.
"We have played seven games in 23 days, and in this period, to win five and draw the other two games when everybody is tired is really good."
- 5de Laet
- 7LeadbitterBooked at 84mins
- 21RamírezSubstituted forNugentat 82'minutes
- 19DowningSubstituted forStuaniat 70'minutes
- 16de Sart
- 3KnudsenSubstituted forFoleyat 76'minutes
- 17BruSubstituted forDouglasat 84'minutes
- 19HyamBooked at 30minsSubstituted forBishopat 71'minutes
- Darren Bond
- Shots on Target
Second Half ends, Middlesbrough 0, Ipswich Town 0.
Attempt missed. David Nugent (Middlesbrough) left footed shot from the left side of the six yard box misses to the right. Assisted by Adam Clayton with a cross.
Attempt saved. David Nugent (Middlesbrough) header from the centre of the box is saved in the centre of the goal. Assisted by Adam Clayton with a cross.
Cristhian Stuani (Middlesbrough) wins a free kick on the right wing.
Foul by Kevin Foley (Ipswich Town).
Ritchie de Laet (Middlesbrough) wins a free kick in the defensive half.
Foul by Liam Feeney (Ipswich Town).
Attempt missed. Ritchie de Laet (Middlesbrough) right footed shot from outside the box is high and wide to the right.
Attempt missed. Liam Feeney (Ipswich Town) right footed shot from the right side of the box is too high. Assisted by Tommy Smith.
Attempt blocked. David McGoldrick (Ipswich Town) right footed shot from outside the box is blocked. Assisted by Luke Chambers.
Substitution, Ipswich Town. Jonathan Douglas replaces Kevin Bru because of an injury.
Grant Leadbitter (Middlesbrough) is shown the yellow card for a bad foul.
Foul by Grant Leadbitter (Middlesbrough).
David McGoldrick (Ipswich Town) wins a free kick in the attacking half.
Substitution, Middlesbrough. David Nugent replaces Gastón Ramírez.
Attempt missed. Cristhian Stuani (Middlesbrough) header from the centre of the box is high and wide to the left. Assisted by Albert Adomah with a cross.
Substitution, Ipswich Town. Kevin Foley replaces Jonas Knudsen because of an injury.
Offside, Ipswich Town. David McGoldrick tries a through ball, but Liam Feeney is caught offside.
Foul by Adam Clayton (Middlesbrough).