Fellaini’s United deal was due to expire this weekend and Arsenal’s new boss Unai Emery was reported to have made an approach to sign him.
Having originally offered Fellaini only a one-year contract, United extended their deal by a further season and that was enough to convince the 30-year-old to remain at Old Trafford.
Fellaini’s new contract has the option to extend for a further 12 months after the two years have expired.
“I am pleased to be continuing my journey as a Manchester United player,” he told United’s website.
“I made this decision because I am very happy here. Also, I feel like this team, under Jose, still has a lot we want to achieve.
“I would like to say a special thank you to Jose (Mourinho) for the faith he has always shown in me.”
Fellaini, currently on World Cup duty with Belgium, joined United from Everton in 2013, making 156 appearances and scoring 20 goals.
He has won the FA Cup, the League Cup and the Europa League during his time with United.
The towering midfielder is well liked by United manager Jose Mourinho, who insisted he always expected Fellaini to stay.
“I am very happy Marouane is staying with us,” Mourinho said.
“I always believed in his desire to stay with the club and I am delighted that he has signed a new contract.”