The Flames confirmed the deal on Friday night.
Calgary also gets a conditional third round pick in the 2020 NHL Draft. Edmonton will also retain 12.5 per cent of Lucic’s remaining contract.
Lucic signed a seven-year, US$42-million contract with Edmonton on July 1, 2016, but hasn’t lived up to that hefty price tag.
He had six goals and 14 assists with a minus-9 defensive rating over 79 games with the Oilers last season.
After the trade was made official Lucic tweeted a photo of a Flames jersey with his name and No. 17 on the back.
Neal had seven goals and 12 assists with a minus-5 rating in 63 games for Calgary last season.
Like Lucic, Neal was a big-name free agent signing for Calgary last summer but didn’t meet expectations after agreeing to a five-year, $28.75 million deal July 2, 2018.
His seven goals last season was the fewest he had scored in his 11 NHL seasons.