From the kickoff, Sa's shot was deflected and Daniel Williams long-range shot was blocked within the first 30 seconds.
Williams was first to test David Button in the 12th minute but his shot was held.
Two minutes later, Blackman's effort beat Button, but rebounded off the crossbar.
The Royals took the lead in the 16th minute when Hal Robson-Kanu's cross was met by Sa, who headed the ball into the roof of the net.
They continued to dominate and Button was called into action time and time again. Stephen Quinn, Robson-Kanu, Williams and Blackman all had shots saved by the Bees stopper.
He could only do so much though, and Reading doubled their lead in the 31st minute when Blackman curled a free kick into the top-right corner.
Brentford improved in the second half, and Harlee Dean headed over the bar from a corner after 58 minutes.
Two minutes later, Lasse Vibe missed the target from long range.
The Danish striker did open his Brentford account in the 66th minute though, striking into the top-right corner from outside the box.
Reading then went on the offensive when Garath McCleary and Sa shot wide of the target. Williams then had another attempt on goal but Button kept it out with ease.
Chasing the game, the Bees camped Reading into their own half in the closing 10 minutes. Alan Judge's free kick went wide of the target, Alan McCormack's long-range effort failed to test Jonathan Bond and Dean also shot wide from long range.
Brentford were made to pay for their profligacy as Blackman scored a penalty deep into added time.