The 24-year-old has signed a two-and-a-half year deal at the Liberty Stadium and is eligible to make his debut in Saturday's FA Cup third-round clash with Colchester
The former Aston Villa youngster was left out of Albion's 25-man Premier League squad at the start of the season by manager Roberto Di Matteo and subsequently spent time on loan with Derby, scoring four times in 13 appearances.
"Luke is an exciting talent and I'm delighted we've signed him on a permanent deal rather than a loan," said Swansea boss Brendan Rodgers on the club's official website.
His pace, power and finishing ability will add another dimension to our game. He's also got a great hunger for the game as he hasn't quite fulfilled his potential yet.
"I've known Luke since he was a youth player at Aston Villa and watched him score many, many goals. I know what I'm working with and I'm convinced he will grow with us over the next few years."