Adrian Lopez joined Porto from Atletico Madrid on Saturday, linking up with the Primeira Liga club on their pre-season trip to Netherlands.
Atletico confirmed on their website that Adrian had passed a medical with Porto, allowing the 26-year-old striker to fly with the Portuguese outfit to Eindhoven.
The medical was the final hurdle for Adrian before his transfer from Atletico to Porto would be approved.
"Atletico de Madrid and Porto have reached an agreement for the transfer of Adrian Lopez to the Portuguese club," a statement on Atletico's website read.
"The striker from Asturias leaves for the team directed by the Spanish [coach] Julen Lopetegui."
Earlier, Porto had confirmed on their website that Adrian was part of their 24-man squad for the Dutch tour, posting photos of the forward in club gear, although they did not release any details of a transfer or confirm that one had occurred.
Porto, under new coach Julen Lopetegui, are looking to bounce back in the coming season, after missing out on silverware in 2013/14.
Adrian struggled for regular game time at Atletico last season, as Diego Simeone led them to a breakthrough La Liga title, with the striker starting just four league matches behind regulars Diego Costa, David Villa and Raul Garcia.
In three seasons with Atletico, Adrian scored 26 goals in 143 appearances in all competitions, having joined the capital club from Deportivo La Coruna at the start of the 2011/12 campaign.
With Villa already on his way to expansion franchise New York City in the MLS and Chelsea already agreeing to sign Costa, Adrian's exit to Porto will leave Simeone with a large hole to fill up forward as he looks to defend their Spanish crown.
Croatia striker Mario Mandzukic has already arrived from Bayern Munich during the transfer window.
|Southampton need three January signings, says Watson|
|Liverpool can make Champions League, says fanzine editor|
|Walsh: Hull clash crucial for Leicester|
|Toure, Aubameyang and Enyeama make shortlist for African gong|
|Docherty backs Chelsea to win two-horse race|
|Liverpool could benefit from Hyypia influence - Scales|
|Saudi Arabia name Asian Cup squad|
|Forty-year-old Cahill no problem for Postecoglou|
|Wenger criticism baffles Redknapp|
|Leicester must strengthen in window - Walsh|
|United not title contenders - Docherty|
|Koeman: Southampton youngsters will get a chance|
|Dyche empathises with Liverpool striker crisis|
|Cagliari turn to Zola|
|Rooney thanks Van Gaal for Christmas break|
|Cruzeiro offer Paulinho Tottenham exit chance|
|Carlisle´s wife grateful to Burnley|
|Katebe called up to Zambia AFCON squad|
|Cape Verde name AFCON squad|
|Finke names much-changed Cameroon squad|
|Grant omits World Cup troublemakers for AFCON|
|Blackpool striker Ranger goes AWOL|
|Allardyce relishing Mourinho meeting|
|Ashley fails to increase Rangers stake|
|Crystal Palace v Southampton: Koeman calls for focus|
|Warnock targeting striker in January|
|Chelsea v West Ham: Adrian vows visitors will attack|
|Heskey signs short-term deal at Bolton|
|Everton v Stoke City: Martinez eyes strong form|
|Juninho defends David Luiz|
|Burnley v Liverpool: Dyche defends Rodgers ahead of Turf Moor test|
|Arsenal v QPR: Wenger eyes festive momentum|
|Liverpool are growing in confidence, says Rodgers|
|Redknapp: Austin future could depend on survival|
|Martinez wants Everton consistency|
|Barca want Neymar until 2020, says agent|
|Jones undeterred by pressure of Liverpool starting role|
|Allardyce ´knows how to beat managers´ - Carroll|
|Jones playing for a new contract|
|China select Evergrande spine for Asian Cup|
|A-League Preview: Koren tips City to build|
|Khedira keen to fight for Real spot|