New York Red Bulls striker Thierry Henry has taken the top spot after Beckham's Los Angeles Galaxy salary dropped by nearly 40% in his current contract.
The former England captain now has a base salary of $3m (£1.9m) with guaranteed compensation of $4m (£2.5m), making him the third highest paid player, according to figures released by the MLS Players Union.
His previous base salary was $5.5m with a guarantee of $6.5m as part of a $32.5m (£20.7m) five-year contract that expired after the 2011 season.
Meanwhile, Henry earns a base salary of $5m and total compensation of $5.6m. Henry's teammate Rafa Marquez is second at $4.6m, followed by Beckham and Galaxy teammates Robbie Keane ($3.4m) and Landon Donovan ($2.4m).
Barack Obama recently teased David Beckham over his age and underwear range.