Lomano LuaLua had an effort saved early on for Brighton before Jesse Lingard put the Seagulls in front when he drove in using the outside of his foot.
Charlton responded well, with Marvin Sordell wasting a good chance to get an immediate equaliser following good play from Diego Poyet.
Brilliant defending from Dorian Dervite then denied Ulloa as Brighton looked to extend their lead.
Ulloa eventually doubled Brighton's advantage, however, when he sprung Charlton's offside trap and fired home.
The goal came moments after Reza Ghoochanneijhad had hit the crossbar for Charlton.