The 24-year-old moves to the Portuguese club on a four-year contract after three years with Roma.
Jose Angel's deal contains a release clause of €30million, with Roma in line to receive 50 per cent of any future transfer fee.
Spaniard Jose Angel spent the last two seasons on loan at Real Sociedad, scoring one goal in 33 La Liga appearances.
He now moves to a Porto side aiming to bounce back from the previous campaign, where their only trophy came in the Supertaca de Portugal.
And the Gijon-born player is relishing the challenge of competing for one of Portugal's biggest clubs.
"It is a great joy to be here," Jose Angel told Porto's official website. "I think it [Porto] is a great club that is creating a good squad.
"It is important to have a good team and good players. Porto is making good signings.
"We will be fighting for important things. I have high expectations and cannot wait to start training and be 100 per cent.
"I will give the maximum to help the team. I hope that in the end everything goes well and we can all be happy."