The 26-year-old has signed a four-year contract with the Premier League side.
Beckford’s contract with Leeds United was cancelled last week after the Championship side failed to agree on a new deal with the striker.
Newcastle and Bolton had also shown an interest in the former Wealdstone forward.