Boyd played in Peterborough's first match of the 2009–10 season, scoring from the penalty spot in a 2–1 defeat to Derby County at Pride Park. Three days later, Boyd netted Peterborough's third in the club's 4–0 away win at Wycombe Wanderers. He scored his third goal of the campaign in a 2–1 home win against Ipswich Town, as well as scoring in the club's 1–1 draw at Leicester City. His sixth of the season came in Peterborough's 3–2 home victory over Reading, with Boyd scoring the club's third goal with a backheel in injury-time. In October 2009, Boyd made a club record-equalling 124th consecutive appearance, scoring a last minute equaliser against Bristol City at Ashton Gate. He subsequently broke the record three days later in a match against Doncaster Rovers, before scoring twice in the following match against Scunthorpe United. He continued his goalscoring form throughout October with a goal at Ewood Park, scoring his third goal in Peterborough's League Cup campaign in a 5–2 defeat against Premier League team Blackburn Rovers. The following week, Boyd scored in a 2–1 defeat at home to Barnsley, as well as netting in a 2–2 draw against Middlesbrough shortly after. He assisted both of Peterborough's goals in a 2–1 victory at home to Watford. Boyd also scored in Peterborough's 4–4 draw against Cardiff City, scoring Peterborough's third goal as the club came back from four goals down to earn a point. Upon Mark Cooper's arrival as manager, Boyd was made team captain in January 2010. In February 2010, it was announced that Peterborough rejected a bid for Boyd from fellow Championship club Middlesbrough in the January transfer window. The following day, Peterborough United director of football Barry Fry confirmed that Middlesbrough were in talks over Boyd, although talks broke down after the two clubs failed to agree a fee for the player. Boyd scored 12 times in 37 appearances during the 2009–10 season.