Dennis, 23, who began the stage in second place with a 44-second deficit to Wiggins, completed the 108.5-mile stage to Mt. Diablo in 4 hours 56 minutes 2 seconds.
Wiggins, who assumed the race lead with a dominating Stage 2 time trial win in Folsom, finished ninth in the stage, trailing the leader by 20 seconds.
The British rider, the 2012 Tour de France winner who's competing in the event for the first time since 2008, leads Dennis by 24 seconds with five stages left.
"This is the first time I have ridden in this type of heat in almost two years," said Wiggins, who faltered in the waning meters. "It takes an adjustment. Actually, I am a bit knackered from it."
Tiago Machado of Portugal was second in Stage 3, trailing Dennis by six seconds.
American Lawson Craddock was third, another two seconds back, in the stage that ended with a 41/2 -mile climb with as much as a 17% grade. Temperatures reached into the mid-90s.
Machado is third overall, trailing by 1:05.
"Last year, at about three kilometers to go, I didn't have anything left," Dennis said. "This year, getting past that was a bonus. I saw other people cracking around us and that gave me more confidence."
The heat took its toll, with the original field of 128 now at 114 with 11 riders eliminated by time and two others not finishing. One rider didn't start the stage.
Mark Cavendish of Britain, who assumed the race lead after winning Stage 1, finished last in the stage, nearly 21 minutes behind.
Wiggins went to the front of the lead group of 23 riders with about 21/2 miles left.
"My mission was to be in a position to limit any losses and not explode," Wiggins said. "It is why I was riding tempo making sure no one got up the road. We did this climb a little over a week ago. I knew how it kicked up the last 300 meters. It was a tough climb. Every day is a tough day when you're in yellow."
Several riders tried short, but unsustained attacks before Dennis' final move.
Eight riders escaped from the 127-rider field early in the stage. The group crested Mt. Hamilton together after 21 miles and built more than a six-minute margin. The group was reduced to seven as its cushion was 4:20 with 30 miles left. With 20 miles left, the gap was 3:20.
With five miles left and the steepest part of the day reaming, only three riders remained in front and their lead was about one minute. The leaders were absorbed a few minutes later before the series of short solo bursts. The eight-day race continues Wednesday with the flat 102.6-mile Monterey to Cambria stage.