The victory moved second-placed City onto 26 points after 11 games, one behind leaders Arsenal who visit Southampton on Sunday. Brighton are eighth on 15 points.
Haaland scored for the seventh consecutive home game in all competitions to give City the lead midway through the first half and then fired in a penalty in the 43rd minute after a VAR review ruled that visiting captain Lewis Dunk had fouled Bernardo Silva.
Brighton deservedly pulled back a goal early in the second half when Leandro Trossard rifled a shot under diving City goalkeeper Ederson from the edge of the area.
Trossard nearly found an equaliser when he tore down the left wing and towards goal but this time Ederson got the better of him and blocked the shot to force a corner.
City captain De Bruyne then killed off the visitors' hopes of snatching a point by curling a shot from outside the area high into the net in the 75th minute.