The Netherlands international will continue his career in Portugal after impressing at the World Cup earlier this summer
The Netherlands international has signed a four-year deal with the Portuguese giants which contains a €40m buyout clause.
Porto were keen to add another defender to their squad because of the expected departure of Eliaquim Mangala, who is on the verge of joining Manchester City, and they have now found their man in Martins Indi.
"This feels like the right moment to depart," Martins Indi told Feyenoord's official website.
"I have played more then hundred games for Feyenoord [and] played well at the World Cup this summer.
"I always said that I would only leave this club when it would be beneficial for them too.
"Feyenoord will be paid well for my transfer and it is nice for me to have a new challenge in Portugal."
Meanwhile, technical director Martin van Geel also gave his take on the deal.
"This step comes at the right moment for Bruno," he said. "He came in as a youngster [and] developed himself as a key player for Feyenoord and the Dutch squad. Now it is time for him to move on.
"He is one example of what we do with our talents. We wish Bruno good luck with this new challenge in his career."
The 22-year-old came through the ranks of the Feyenoord youth academy and made his official first-team debut at the Rotterdam side in 2010-11.
Martins Indi had since developed into a key player at De Kuip, making over 100 appearances for the Rotterdammers.
The centre-back - who was born in Portugal - was part of the Netherlands team that finished third at the World Cup in Brazil this summer, making six appearances.