The Brazilian midfielder was in fine goalscoring form in Basque Country, striking twice in the last 25 minutes to lead his team to an important opening victory
The home side had numerous chances to take the lead, but Shakhtar held firm and Teixeira showed his class in their opening game of Champions League Group A.
Jagoba Arrasate made three changes to his midfield for Sociedad's first European game since 2003, with Ruben Pardo replacing the injured David Zurutuza, Xabi Prieto and Markel Bergara all coming in to start.
Andriy Pyatov, Darijo Srna, Vyacheslav Shevchuk, Fernando, Tomas Hubschmann all came into the Shakhtar starting XI following their 3-2 defeat to Karpaty in the Ukrainian Premier League.
The opening exchanges were played at a frantic pace and Antoine Griezmann went close in the third minute with a low shot that had Pyatov stretching in the Shakhtar goal.
Carlos Vela had the best chance of the first half when he raced onto a through-ball but his chip took a deflection and looped just wide of the goal with Pyatov stranded.
The home side were aggrieved to not get a penalty five minutes before the end of the first half when Srna brought down Prieto on the edge of the box.
Shakhtar came out with a new game plan in the second half and were proving hard to break down as they tried to counter when given the opportunity. Sociedad went close through Haris Seferovic but his effort was held well by Pyatov.
In the 65th minute, Shakhtar did counter to perfection and took the lead against the run of play through Teixeira. The midfielder got onto the end of Douglas Costa's teasing ball and drilled the ball into the bottom corner to silence the Sociedad crowd.
Sociedad tried to get level and they had a goal disallowed when Griezmann went through one-on-one. Vela then hit the crossbar from a free-kick but it was Teixeira who added further misery when he doubled the visitors' advantage.
The Brazilian cut in from the left-hand side before curling the ball into the bottom corner past the helpless Claudio Bravo, who was making his 200th appearance for the club.
Sociedad continued to push for a goal but in the end Shakhtar showed their European experience to pick up the three points.