Rodgers was the son of Arnold Rodgers himself a former Bristol City footballer. David Rodgers played for England Schoolboys and in the youth teams at Bristol City. Alan Dicks signed Rodgers as a professional in July 1969 for Bristol City. Rodgers made his debut for Bristol City on 3 November 1970 at centre half deputising for Dickie Rooks in a League Cup 4th round replay 2–1 win over Leicester City in which Rodgers scored the opening goal for Bristol City. Bristol City reached the semi final of the League Cup losing 1–3 to Tottenham Hotspur over two legs although Rooks had returned to the side by the time of the semi final ties. Bristol City struggled throughout the 1970–71 season hovering in or just above the relegation positions in the Second Division eventually finishing in the safety of 19th place. Rodgers made 7 appearances including one wearing the no.11 shirt when City played three central defenders v Bolton Wanderers. Rooks and Geoff Merrick formed the regular central defensive pairing for the 1971–72 season when Bristol City started strongly before finishing in 8th place. David Bruton was first choice as deputy when Rooks was injured and Rodgers had to wait until February 1972 before being given his chance. Rodgers made 8 appearances and scored one goal in a 2–0 win v QPR. Rodgers established himself as the centre half alongside captain Merrick at the heart of the City defence for 1972–73. Rooks had departed and Bruton was now deputy to Rodgers. Rodgers made 35 appearances scoring one goal as Bristol City climbed from bottom of the table in September 1972 up to a final position of 5th place. The following season saw the emergence of a young Gary Collier to share the centre half duties in partnering Merrick. This season Bristol City started well before slipping steadily down the table finishing in 16th place. Rodgers made 26+2 appearances scoring one goal playing mainly in the earlier half of the season. He also made the team for the FA Cup 6th round 0–1 defeat v Liverpool and made a substitute appearance in the 5th round 1–0 victory at Leeds United. Rodgers made only 5 appearances in 1974–75 as Collier and Merrick formed the regular central defensive pairing and Bristol City rose to 5th place in the Second Division. Bristol City won promotion to the First Division as Second Division runners up in 1975–76 but Rodgers failed to make the first team with Steve Harding playing in the two games that Merrick missed; Collier was ever present. Rodgers made his First Division bow on 23 October 1976 in a 1–3 defeat at Aston Villa when he replaced the injured Merrick. Rodgers made only that single appearance in 1976–77 as Bristol City spent almost all season in the relegation places and only escaped along with Coventry City due to a 2–2 draw between the two clubs on the final day of the season. The final 15 minutes with the ball being played around the halfway line as neither side wanted to disturb the 2–2 scoreline which guaranteed both teams safety from relegation. In 1977–78 Norman Hunter joined Bristol City as defensive partner to Collier with Merrick moving to left back and Bristol City finished in 17th position three points above relegation. Rodgers played alongside Hunter in the final 15 league matches after Collier was injured. Rodgers scored one goal in a 3–0 win v Chelsea. Rodgers missed out in the Anglo Scottish Cup campaign ending with Cup victory over St Mirren in the final in December. Bristol City ended the 1978–79 season in 13th place in the First Division with Rodgers forming the regular central defensive pairing with Hunter throughout the season. The Anglo Scottish campaign saw City defeated in the quarter final by St Mirren. Rodgers made 36 appearances scoring five goals and another in the FA Cup 3–1 win v Bolton Wanderers. Bristol City were relegated from the First Division in 1979–80 finishing 20th of 22 teams. Rodgers played alongside Geoff Merrick in defence making 26 appearances scoring six goals but missing several games with injury. Rodgers again missed out on playing in a successful Anglo Scottish Cup campaign resulting in losing in the final to St Mirren. Rodgers had an injury interrupted season in 1980–81 as Bristol City were relegated from the Second Division in 21st position making only 14 appearances with Julian Marshall newly signed from Hereford United taking advantage of the opportunity in the centre half shirt. Season 1981–82 was a momentous one for Bristol City as City suffered a third successive relegation but worse still a financial crisis which very nearly saw the club fold altogether in February 1982. Rodgers was one of the "Ashton Gate Eight" the players who effectively tore up their well paid contracts and accepted redundancy from the club on 2 February 1982 to save Bristol City from being wound up the following day. The eight players shared the proceeds of a match staged on 24 March 1982 at Ashton Gate between Ipswich Town and Southampton in front of 6,200 spectators. On the field Rodgers made 18 appearances without scoring for Bristol City. After leaving Bristol City, David Rodgers played on a non-contract basis for Torquay United in February 1982 and then on a similar basis for Lincoln City in March 1982 before returning to the West Country with Forest Green Rovers. After Rodgers finished playing he worked briefly as groundsman at Bristol Grammar School before joining nearby Clifton College in January 1985 as the general manager of services.