Chesterfield striker Ched Evans was not in the squad and did not attend the match at Roots Hall after he was found not guilty on Friday of raping a woman. Evans is still recovering from a foot injury.
Thompson's first-half strike means Southend move up to 19th and have won five of their last six matches at home, while Chesterfield drop to 21st.
The winner came in the 29th minute after Chesterfield failed to clear a corner and the ball fell to Thompson, who smashed home from 10 yards.
Chesterfield could have levelled soon after when Kristian Dennis nipped in behind the Shrimpers defence but his lifted finish was saved by Southend goalkeeper Mark Oxley.
The hosts dominated the early part of the second half but Nile Ranger and Simon Cox both squandered excellent opportunities.
Chesterfield substitute Ricky German almost made them pay but his close-range effort was scrambled off the line and Southend held on for a much-needed victory.