The Addicks' fourth defeat under head coach Jose Riga increased their relegation worries, while the Seagulls now boast 19 clean sheets - the most in the Sky Bet Championship.
Brighton, beaten in their previous two home games, had to make a change in goal with former Leeds player Casper Ankergren drafted in for his first league start in a year in place of Tomasz Kuszczak, who was forced to withdraw through illness.
Ankergren's opposite number, Ben Hamer, showed good handling early on to claim crosses from Kazenga LuaLua and Solly March, but was beaten in the 11th minute when Lingard notched his first home goal.
Lingard, on loan from Manchester United, skipped past Michael Morrison to score with a cool low shot after good play from LuaLua had put pressure on the Charlton defence.
Charlton were indebted to Hamer shortly after when the keeper dashed out positively to claim the ball at the feet of the on-rushing LuaLua.
Skipper Gordon Greer came to Brighton's rescue with a well-timed challenge on Marvin Sordell on the edge of the area after March gave the ball away.
Defender Stephen Ward over-hit a cross for the Seagulls, directed at striker Ulloa, when LuaLua had created space down the left with a surging run.
Hamer was able to make a straightforward claim after March got the better of Lawrie Wilson, but his cross was disappointing.
Charlton captain Johnnie Jackson displayed composure to clear under pressure from former England defender Matthew Upson, March having delivered a deep corner to the far post.
The visitors almost snatched an equaliser when a shot from Reza Ghoochannejhad took a deflection off Greer and came back against the bar.
Play switched to the other end and, a minute before the break, Ulloa pounced to hit his 15th goal of the season from close range latching onto a short pass from Lingard.
Ankergren, seldom troubled in the first half, dived to deflect a dangerous cross from substitute Callum Harriott shortly after the interval, Harriott having been introduced in place of Astrit Ajdarevic.
A 50-yard pass from Greer sent LuaLua away on goal for the Seagulls, but Hamer showed alertness to come out and save at the winger's feet.
Hamer later denied Lingard by turning his goal-bound shot round the post, and Lingard should have done better moments later when he rounded Hamer only to put the ball wastefully over.
Charlton, with Sordell up front on his own, threatened when a free-kick from Jackson was headed wide by Morrison with Greer covering him well.
Substitute Jake Forster-Caskey put a free-kick into the side-netting for the Seagulls 10 minutes from time after Lingard was pulled down just outside the area.
Forster-Caskey put the seal on Brighton's comfortable win in the fourth minute of added time by latching onto a pass from Ward and giving Hamer no chance with a low shot into the corner.