Match ends, Middlesbrough 0, West Bromwich Albion 1.
West Bromwich Albion stayed top of the Championship table thanks to substitute Hal Robson-Kanu's late winner at Middlesbrough.
Middlesbrough had the pick of the chances in an uneventful first half with George Saville seeing his effort cleared off the line by Kyle Bartley.
But, in the week that he signed a new contract, Robson-Kanu was on hand to win it for the league leaders on 82 minutes, tapping in at the back post following a goalmouth scramble.
The Baggies then held on to move two points clear of second-placed Leeds.
West Brom had gone into the international break top of the Championship after a fine performance to defeat Cardiff City 4-2 at The Hawthorns. But they were disjointed at the Riverside.
Middlesbrough nearly opened the scoring at the end of a cagey first half when Sam Johnstone saved Britt Assombalonga's header and Bartley cleared Saville's rebound off the line.
At the other end, Matheus Pereira attempted a spectacular overhead-kick from Grady Diangana's cross but Darren Randolph was equal to it before Johnstone parried a stinging effort from Jonny Howson as both sides improved after the break.
Boro had a golden chance to open the scoring 15 minutes from time, but Saville smashed the ball over following Ashley Fletcher's cutback.
And, 20 minutes after he came on, West Brom left with all three points when Robson-Kanu struck, to leave Jonathan Woodgate's Boro 21st in the table.
Middlesbrough boss Jonathan Woodgate told BBC Tees:
"We created numerous chances, which we need to take. That's what it's all about, creating chances and putting the ball in the back of the net and we didn't do that
"They dominated possession but we went toe to toe with a team that'll probably go up. They've got some fantastic players but we played really well. If we play like that and keep creating chances, we'll be fine.
"I can't remember a real save that Darren Randolph had to make in the game. We deserved to win. We ran them all the way. It was miles better than the performance against Birmingham."
West Brom boss Slaven Bilic told BBC WM:
"Middlesbrough are not confident. What they need is a couple of wins. They are fighting hard and gave us a hard game. If they continue, they will be out of trouble very soon. I have no doubt they will do it.
"Make no mistake, we knew what kind of game we expected and it was the one we didn't want. We were ready for that.
"They defended in numbers but, with more quality and quantity of attacks, then sooner or later you will get good opportunities. That is exactly what happened."
- 16HowsonBooked at 84mins
- 22SavilleSubstituted forBrowneat 88'minutes
- 7TavernierBooked at 47minsSubstituted forFletcherat 72'minutes
- 36FergusonBooked at 64mins
- 8LivermoreBooked at 80minsSubstituted forHegaziat 90+2'minutesBooked at 90mins
- 12Costa Pereira
- 7KrovinovicSubstituted forEdwardsat 63'minutes
- 15AustinBooked at 25minsSubstituted forRobson-Kanuat 62'minutes
- Oliver Langford
- Shots on Target
Second Half ends, Middlesbrough 0, West Bromwich Albion 1.
Attempt blocked. Matheus Pereira (West Bromwich Albion) left footed shot from the centre of the box is blocked. Assisted by Hal Robson-Kanu.
Foul by Nathan Ferguson (West Bromwich Albion).
Jonny Howson (Middlesbrough) wins a free kick in the defensive half.
Hal Robson-Kanu (West Bromwich Albion) wins a free kick on the left wing.
Foul by Patrick McNair (Middlesbrough).
Grady Diangana (West Bromwich Albion) wins a free kick on the left wing.
Foul by Marcus Browne (Middlesbrough).
Attempt missed. Lewis Wing (Middlesbrough) right footed shot from a difficult angle and long range on the left is high and wide to the right from a direct free kick.
Ahmed Hegazi (West Bromwich Albion) is shown the yellow card for a bad foul.
Foul by Ahmed Hegazi (West Bromwich Albion).
Marcus Browne (Middlesbrough) wins a free kick on the left wing.
Substitution, West Bromwich Albion. Ahmed Hegazi replaces Jake Livermore.
Foul by Matheus Pereira (West Bromwich Albion).
Patrick McNair (Middlesbrough) wins a free kick in the defensive half.
Substitution, Middlesbrough. Marcus Browne replaces George Saville.
Attempt missed. Matheus Pereira (West Bromwich Albion) left footed shot from a difficult angle and long range on the right is just a bit too high from a direct free kick.
Darnell Furlong (West Bromwich Albion) wins a free kick on the right wing.
Foul by Marvin Johnson (Middlesbrough).