The Londoners, with John Terry back as captain after being banned at the weekend and Frank Lampard making his 100th European appearance for the club, were up against it from the moment Teixeira pounced on a loose ball to score with a low shot in the third minute.
Petr Cech kept the champions in the game with a string of fine saves before Eden Hazard needlessly gave the ball away in midfield to Luiz Adriano and he streaked clear to set up Fernandinho for another low strike in the 52nd minute.
Brazilian Oscar pulled one back for Chelsea near the end after a right-wing surge by defender Branislav Ivanovic.
Shakhtar's win took them to the top of Group E with seven points from three games, three points ahead of Chelsea.
"It was a difficult game," Chelsea centre-half David Luiz told Sky Sports television. "Shakhtar played well and deserved to win.
"They played with lots of intelligence and didn't really let us into the game until the last 15 minutes. We didn't play well and now we must look forward to Sunday's Premier League game against Manchester United."
The Ukrainians, who lead their domestic championship after reeling off 12 successive wins at the start of the season, were on top throughout the first half with mop-haired Brazilian Willian pulling the strings.
Chelsea were under siege at the Donbass Arena in the opening 45 minutes with Shakhtar producing 12 shots on target.
Lampard's night also ended early as he limped off injured in the 18th minute to be replaced by substitute Hazard.
Cech had to pull off several top-notch stops including a brilliant reflex save to deny defender Olexandr Kucher from three metres.
Roberto Di Matteo's team perked up in the second period and Juan Mata shot narrowly wide following a sweeping move in the 50th minute.
Shakhtar keeper Andriy Pyatov was much busier after the break and he needed to be alert to punch away a powerful 20-metre effort from Brazilian Ramires who was one of the few Chelsea players to shine.
Fernandinho then doubled Shakhtar's lead before Teixeira went close to a third goal when his venemous long-range drive was tipped over by Cech.
Chelsea brought on Daniel Sturridge in attack for the disappointing Fernando Torres midway through the second half and the visitors drove forward in the closing stages.
Oscar tapped the ball in from close-range with two minutes to go but it proved too little too late for the European champions as Shakhtar extended their excellent home record in the competition to just two defeats in 21 games.
"We are not afraid of playing against teams like Chelsea," said their Romanian coach Mircea Lucescu. "I think we deserved this victory - we created much more opportunities and the score could have been 4-1.
"Cech had an extraordinary game tonight. Maybe Chelsea started a bit too relaxed."
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.