Reading remain unbeaten in the league this season after a fiercely contested encounter at The Riverside this afternoon, which ended goalless.
A high tempo start from both sides saw battles won in the air and on the grass as possession turned over all too regularly in the opening throes.
And Rafael was the first keeper to be called into action. He half-punched clear a Tavernier cross from the rjght and then a Howson strike that looped up off a Reading player was dropping just under the crossbar before the watchful Rafael helped it over his crossbar.
And the Brazilian was in action again to tip the ball over moments later when a floated cross that came into the box was glanced on by Morrison perilously close to the top right corner of his own goal.
At the other end, Laurent spread the play well from left to right and Olise chipped a cross into the box looking for Joao, but the ball skipped away off the turf and behind for a goal kick.
Olise dropped deep to collect the ball 20 minutes in and spread a lovely ball out to Holmes bursting down the right. His low cross looking for Joao won the Royals their first corner and from Olise's inswinger, Joao's downward header needed to be gathered in by Marcus Bettinelli.
The Boro keeper had to make a much smarter save low to his left when Olise was found in the box and he stabbed a shot goalwards. Joao looked to pounce on the rebound but Bettinelli claimed it into his body before the Royals forward to get to it.
Meite dropped his shoulder to collect a Holmes pass inside no the half hour mark, but losing his man with that clever move he arrowed over the crossbar without troubling the home keeper.
With seven minutes of the half remaining, Olise stood over a free kick in a dangerous spot to the right of the Boro box. Instead of whipping it into the area, he played it low to Laurent on the edge of the box who drove a first time effort over the bar.
Joao then skidded a low effort just wide of the left upright from 25 yards out as the visitors grew in confidence and threat. But the last chance of the half fell Boro's way - McNair sweeping a free kick, taken short, wide of the top right corner.
Half-time: Middlesbrough 0-0 Reading
Neil Warnock made a change at the break, Marvin Johnson replacing captain Britt Assombalonga. And only a minute into the second period Moore was booked for a late challenge on Akpom.
The substitute did well to block a low Meite cross and then at the other end Holmes did even better to get to a cross in front of Johnson as Boro looked to break the deadlock.
But Reading came within a whisker of making it 1-0 on the hour. A lovely exchange of passes in the Boro half earned Ejaria an opportunity to take aim but his left-footed effort beat a rooted Bettinelli but swung inches wide of the left post.
Johnson ran at Holmes soon after and beat his man to scurry into the Reading area and deliver a low cross that was hacked clear.
Howson then got on the end of a loose ball in the box and set the net rippling from 10 yards out, but the offside flag was up against the Boro midfielder.
Alfa Semedo came off the bench to make his Reading debut and Pușcaș was also brought on as the teams remained locked at stalemate. Howson so nearly broke the deadlock with a quarter of an hour left, hooking a right-footed shot at goal that Moore blocked a yard from the Royals' goalline.
The game was becoming scrappy with yellow cards and a flurry of fouls breaking up the flow of the game as we entered the final ten minutes. And Ejaria came close with a right-footed effort that skidded wide of the bottom right corner from range.
The final stages saw both teams press for a late winner and Holmes' cross nearly picked out Puscas as we ticked towards the last of the ninety minutes. But the defences stood firm.
Full-time: Middlesbrough 0-0 Reading
Middlesbrough: Bettinelli, Tavernier (Spence 83), Dijksteel, Saville, Fry, Assombalonga (c) (Johnson HT), Morsy, Howson, Bola, Akpom, McNair.
Unused subs: Stojanovic, Browne, Roberts, Wood, Coulson.
Yellow: Morsy, McNair.
Reading: Rafael, Holmes, Richards, Moore (c), Morrison, Rinomhota, Laurent, Olise (Aluko 80), Ejaria, Méïté (Pușcaș 76), João (Semedo 69).
Unused subs: Southwood, Esteves, Gibson, McIntyre.
Yellow: Moore, Richards, Holmes.
This match report was brought to you by WHATJOBS. Learn more at www.WHATJOBS.com