The 20-year-old joined the Gunners in January 2007 after coming through the youth ranks at Guadalajara, but was immediately sent out for loan spells at Celta Vigo, Salamanca and Osasuna.
He made his Gunners debut last season, bursting on to the scene with a Carling Cup hat-trick against Sheffield United in September 2008.
He has made a total of 38 first-team appearances for Arsenal, scoring seven goals in that time. Vela has also established himself as a regular in his national side, with six goals in 19 appearances.
“Carlos is a fantastic talent and we have already seen glimpses of this during his performances,” said Gunners boss Arsene Wenger.
“Let’s remember, he is still only 20 years old, so there is still a huge amount to come from this boy. We have invested a lot of time in Carlos, as we put him in Spain for two years to get some good experience.
“Now he’s back with us, we’re working hard with him every day and he is a very exciting player. We’re looking forward to seeing Carlos score many goals in an Arsenal shirt for a long time to come.”
Vela was delighted to pen his new deal.
“I just want to work hard and help this great club win trophies,” he said. “I want to stay here for a long time and it’s a great responsibility.
“I will keep working hard to show the boss and all the fans why I’m here.”