Former Arsenal forward Vela bagged a first-half brace as the hosts took a two-goal cushion into the break.
The Mexican netted the opener on the half-hour mark when he pounced on a loose ball inside the box before smashing it past David Cobeno.
Sociedad were further ahead ninety seconds later when Vela doubled his tally with a bending finish from the edge of the area.
With the momentum in their favour, it was unsurprisingly the hosts who threatened to add to the scores, but Cobeno was on hand to deny Carlos Martinez and Ruben Pardo in the latter stages of the opening 45 minutes.
However, the visitors' defensive frailties were evident again on the hour mark when Mikel Gonzalez headed home from Vela's cross.
That effectively ended the match as a contest and Gonzalo Castro completed the scoring with a 77th-minute bullet shot that flew past Cobeno.
The result moves Sociedad up from 14th in the table to ninth, while Vallecano are a place behind due only to goal difference.