Porto said on their website that the 35-year-old had signed until the end of the season.
Brazil-born Liedson, a lightweight but deadly striker who played for Portugal in South Africa's 2010 World Cup after being granted Portuguese citizenship, returns to a league he knows well.
He played over 300 matches for Sporting and scored more than 170 goals in all competitions before a move to Brazil two years ago. Despite his history with Sporting, Liedson said he had been eyeing a move to Porto for some time.
"The opportunity came now but, although it only came through now, it was actually a wish that had been there for a few years," Liedson said.
Porto are joint-leaders of the Portuguese Premier League with Benfica and will play Malaga in the last 16 of the Champions League in February.