The American, whose bluff move on his Telekom rival early on the 14km Alpe d'Huez climb left him with only stage leader Laurent Roux to overtake, crossed the 1850-meter summit finish line in 6:23:47sec.
France's Francois Simon, with Bonjour, takes the overall leader's yellow jersey from Australian Stuart O'Grady.
"Telekom were holding their own rhythm in the climbs so we (US Postal) decided to play a bit of poker," said a delighted Armstrong after the race.
Roux, who had led for most of the stage, could only struggle on as Armstrong ended his near-200km breakaway when he was only 6km from the finish line.
Ullrich, meanwhile, came in second at 1:59, with Spaniard Joseba Beloki finishing third at 2:30.
Simon, who was second overall on Monday after a good operation the previous day, pulled on his first yellow Tour jersey after he finished only minutes behind Armstrong.
"I find it hard to believe. Winning the yellow is a big thing for me, but what makes it even bigger is the fact that I took it on the Alpe d'Huez," said Simon, whose brother lost the yellow jersey here 18 years ago.
In second overall is Kazakhstan's Andrei Kivilev of the Cofidis team who is at 11:54, with Australian Stuart O'Grady at 18:10 off the leader's pace.
Armstrong sits at 20:07 behind Simon with a 2:34 lead advantage over Ullrich, who sits 22:41 off the pace.
Armstrong's yellow jersey campaign, however, is now taking shape.
On Wednesday's individual time trial he should dominate since he knows the 32km steady climb well after previewing it several times this year.
Armstrong added: "Tomorrow, I don't know what will happen. It's a very important stage, and a big test. I hope if I'm tired after today everyone else will be!
"But I might pay for that effort. I hope not. I've trained well and also previewed the course, so we'll see."
Roux lead the peloton by 6:25 as he approached the final climb, whose 21 hairpin seemed destined to test his will to win his first Tour stage.
After Roux's grueling four-mountain breakaway in the company of Spaniards Antonio Tauler of the Kelme team and Eladio Jimenez of ibanesto, US Postal decided to play their hand.
When the Armstrong-led peloton arrived at the foot of the last climb the American's main climbing buddy Spaniard climber Roberto Heras and Armstrong pulled away for 50 meters and the slowed to allow Ullrich to catch up.
Armstrong then cheekily left Heras behind and turned round and stared directly at Ullrich as if to goad him into following. Ullrich looked as though he had little to offer, so Armstrong simply jumped out of his saddle and pulled away at a ferocious pace, and kept on going.
The Texan later admitted that he knew Ullrich would have trouble following.
"He (Ullrich) is a steady climber, he can hold a steady rhythm but he can't stop and go, stop and go. It's just two different styles. But we all know he doesn't like accelerations."
Ullrich, his head down and staring at the pedals, struggled to chase and ripped out the earpiece which is normally worn to listen to instructions from his team manager.
Armstrong quickly caught Roux, who could only watch as the Texan swept past him. Ullrich, meanwhile, kept pounding away at the head of a six-man group containing race hopefuls Spaniard Jesoba Beloki and Frenchman Christophe Moreau.
The pursuers, however, could only chase in vain.
Armstrong conceded: "Okay, maybe it was a little bluff but you know in cycling now everyone's got televisions and everyone knows what's going on, so you have to play that game a little bit."
Results, Stage 10: Aix-les-Bains to lAlpe d'Huez
1 Lance Armstrong (USA) US Postal Service 6:23:47 (32:67 km/h)
2 Jan Ullrich (Ger) Telekom 1:59
3 Joseba Beloki (Spa) ONCE-Eroski 2:09
4 Christophe Moreau (Fra) Festina 2:30
5 Oscar Sevilla (Spa) Kelme-Costa Blanca 2:54
6 Francisco Mancebo (Spa) iBanesto:com 4:01
7 Laurent Roux (Fra) Jean Delatour 4:03
8 Igor Gonzalez De Galdeano (Spa) ONCE-Eroski same time
9 Roberto Laiseka (Spa) Euskaltel-Euskadi s.t.
10 Leonardo Piepoli (Ita) iBanesto:com 4:07
Complete results of Stage 10
Overall standings after Stage 10:
1. Franois Simon (Fra) Bonjour 45:34:09
2. Andrei Kivilev (Kaz) Cofidis 11:54
3. Stuart O'Grady (Aus) Credit Agricole 18:10
4. Lance Armstrong (USA) US Postal Service 20:07
5. Joseba Beloki (Spa) ONCE-Eroski 21:42
6. Christophe Moreau (Fra) Festina 22:21
7. Jan Ullrich (Ger) Telekom 22:41
8. Igor Gonzalez De Galdeano (Spa) ONCE-Eroski 23:34
9. Oscar Sevilla (Spa) Kelme-Costa Blanca 24:07
10. Santiago Botero (Col) Kelme-Costa Blanca 25:52
Complete overall standings after Stage 10