Leeds United have signed Swindon Town striker Billy Paynter on a three-year deal on a Bosman free transfer.
The 25-year-old scored 29 goals this season to help Town into the League One play-off final, which they lost, and will replace Jermaine Beckford.
He turned down a new long-term deal at Swindon following the Millwall defeat.
United manager Simon Grayson told the club's website: "He proved his worth last season, scoring four goals against us in two games."
He added: "He has matured as a player over the last couple of years and he had a fantastic season last season."
Paynter started his career at Port Vale and had spells at Hull City, Southend United and Bradford City.
But it was at the County Ground where Paynter found his best form, as he scored 51 goals in 137 appearances.
Anybody who scores nearly 30 goals in a season will be wanted by bigger clubs than us
Swindon boss Danny Wilson
Grayson added: "He works ever so hard, holds the ball up well and he has proved he knows where the back of the net is.
"When we knew he was available we were desperate to get him. We feel he will be a good acquisition for the club and I am delighted to have got him."
Earlier this week, Swindon revealed they expected Paynter to leave, with boss Danny Wilson telling BBC Wiltshire: "He knows where we stand but we've had nothing back yet. Hopefully we'll get something positive, but I don't expect it.
"Anybody who scores nearly 30 goals in a season will be wanted by bigger clubs than us."
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.