An ambulance had to come onto the pitch at Belenenses to rush the player to hospital after an accidental clash with home goalkeeper Stanislav Kritsyuk.
The incident happened in the 85th minute of the 0-0 draw as Guinea-Bissau international Nanu chased a cross into the penalty area.
He was treated on the pitch for 15 minutes with some players in tears on seeing the stricken star.
"Nanu had a cerebral concussion and spinal cord injury with a loss of memory," Porto later tweeted.
"At this moment, he is stable, conscious and is aware of time and his surroundings."