On-loan striker Mark Robins kick-started Bristol City's promotion drive with a goal on his full debut as Danny Wilson's side held on to record their first League success in nine outings.
City had slipped from second to fifth in the table after failing in front of goal and scoring just four times during their poor recent run.
But Robins and Brian Tinnion put them back on track at lowly Northampton, who almost salvaged a point after Paul McGregor had put them back into a game that looked well beyond them in the first half.
"Everyone else seems to be worrying about our situation apart from me," said Wilson, adding: "But we showed in the first half what we are capable of doing to teams and we should have been five or six goals up by half time.
"I was disappointed with the way we lost the goal but we ground it out in the second half to get the result." Robins got off the mark in the 12th minute, firing home the rebound after keeper Nathan Abbey had kept out a header from top scorer Scott Murray.
City missed several good chances before Tinnion doubled their advantage in the 35th minute when his curling free-kick deceived everyone and ended up in the back of the net.
Northampton were thrown a lifeline in first-half stoppage time when McGregor chipped Steve Phillips from the edge of the box to set up a more even second half.
City never looked the force of the first half, but kept Northampton at bay until the closing stages. Marco Gabbiadini almost rescued a late point when his shot beat Phillips but Louis Carey headed off the line.
"I was disgusted with our first-half display, we had no heart or desire and didn't win a tackle or a header," said Northampton boss Terry Fenwick.
"We were feeling sorry for ourselves and waiting for a punch when we should have been out their swinging the punches. Although we put our foot in after the break we left ourselves with a lot to do."