The Gunners unveiled the deal on Tuesday evening, the fee worth a total of £34.1million overall, with £4.2m of that held back in performance-related add-ons.
The 22-year-old ended his holiday early to finalise the move, he is understood to have signed a five-year deal – described as “long-term” by Arsenal’s official statement.
Technical director Edu said: “We’re so pleased to have completed the signing of Fabio from Porto. Fabio is a player with special qualities who is comfortable with the ball in the final third of the pitch.
“We are all looking forward to working with him and enjoying his future contribution to Arsenal. We will now continue to work hard and are looking forward to finishing this transfer window as strongly possible.”
Vieira is a versatile midfielder, who can play as a No8, No10, on the wing or as a second striker. He will wear the No21 shirt.
It is Mikel Arteta’s third summer deal but first major new addition, after young Brazilian winger Marquinhos – who joined from Sao Paulo last week for a £3m fee – and USA goalkeeper Matt Turner, who is due to arrive in the UK later this month after leaving New England Revolution in the MLS.
Arsenal’s spending is expected to continue, with Manchester City’s Gabriel Jesus, Ajax defender Lisandro Martinez and Leeds forward Raphinha.
Arteta added: “I am very excited that we have identified and signed such a special talent. Fabio is a very creative player that will bring high quality and versatility to our attacking play. We welcome Fabio and his family to our club and are looking forward to starting work with him ahead of the new season.”