The home side fashioned the first chance of the game inside the first 10 minutes when Milan Lalkovic met a cross, but his header was just too high.
The Saddlers enjoyed the better of proceedings in the first 25 minutes, but the visiting Seagulls did well to deny their hosts anything clear cut.
However, Lalkovic almost opened the scoring when he curled a free kick just wide from around 20 yards out.
England Under-21 international Jake Forster-Caskey was fouled inside the area on 38 minutes, and the midfielder dusted himself down to take the resulting spot kick and give Brighton the lead.
After the break, Rohan Ince had an early chance to double Brighton's advantage, but the 22-year-old could only blaze over after a smart cutback.
Lalkovic almost grabbed the equaliser with another well-taken free kick, but the effort fizzed through a number of bodies before going just wide before the hour mark.
Lalkovic did eventually get his name on the scoresheet with a powerful left-footed drive on 66 minutes.
Chris O'Grady had a great chance to give Brighton the lead on 71 minutes when the visitors were awarded a second penalty.
However, he could only blaze over the bar, and he was promptly substituted.
Brighton were made to pay for their profligacy, and it was Rico Henry who netted inside the final five minutes to give Walsall the victory.