Bristol City pressed for an equaliser and Jamal Campbell-Ryce brought a good save from Reading goalkeeper Adam Federici but the Robins were unable to find a way back into the game.
Shane Long spurned a chance to make it 3-0 late on, but nonetheless Brian McDermott's side made it seven league wins from eight to move six points clear of the bottom three.
Bristol City made a bright start and Nicky Maynard had an early chance for the visitors but dragged a shot wide from the edge of the box.
However Reading quickly began to get control of the game and Sigurdsson sent a free-kick from 20 yards just wide after Lee Johnson had brought down Brian Howard.
With 12 minutes gone the Royals went in front when McAnuff received the ball from Ryan Bertrand on the right and sent in a superb cross for Sigurdsson to head home from close range.
The home side immediately went in search of a second and a Jimmy Kebe cross from the left found Sigurdsson once again but this time he could not beat Bristol City goalkeeper Dean Gerken with the header.
Sigurdsson was causing the Robins all sorts of problems and a minute later he received the ball on the edge of the box and unleashed a powerful effort that fizzed past the post.
It was almost inevitable that it was Sigurdsson who doubled Reading's lead in the 21st minute.
The Icelandic midfielder received the ball from McAnuff in the box and was brought down by Hartley before dusting himself off to fire in his 12th goal of the season from the penalty spot.
The visitors attempted to find a way back into the game and Campbell-Ryce fired in a shot from 20 yards but Federici tipped the ball around the post.
With half-time approaching Matthew Mills could have made it 3-0 but headed over from Sigurdsson's free-kick.
Bristol City pressed forward at the start of the second half in search of a goal back and Federici had to be alert to save from the impressive Campbell-Ryce.
At the other end Howard's shot was parried by Gerken into the path of Long who was unable to turn the rebound into the net.
Reading started to dominate once again and Long flicked the ball into the path of Kebe who burst into the box before seeing his shot saved by Gerken.
With 14 minutes remaining Long was unable to get a good enough connection on Bertrand's teasing cross as Reading held on for a deserved win.