Warwickshire 307 for 5 (Davies 118, Hain 83*) lead Somerset 269 for 8 (Gregory 65*, Barnard 3-54) by 23 runs
After dismissing their hosts for 284 from an overnight 269 for eight, the visitors had replied with 307 for five when bad light ended play nine overs early, opener Davies leading the way with 118, off 153 balls, with 21 fours and a six.
The day began with Somerset's Lewis Gregory and Leach looking to guide their side towards a second batting point.
Those hopes faded when Gregory pushed forward to Chris Rushworth in the second over of the morning and departed without adding to his overnight score of 65 as Rob Yates pouched his fourth catch of the match at first slip.
Oliver Hannon-Dalby wrapped up the innings by pinning Peter Siddle lbw for ten and Leach was left unbeaten on 27.
Warwickshire's reply got off to a poor start when Yates edged the third ball, bowled by Josh Davey, to Tom Lammonby at fourth slip and fell for two.
But Somerset's seamers were soon struggling to find as much assistance from the pitch as their Warwickshire counterparts, Davies and Will Rhodes batting with increasing confidence.
Rhodes was the more aggressive and had moved to 39 off 52 balls, with 6 fours, when aiming an aggressive shot off Leach and picking out Craig Overton at wide mid-on.
Undeterred, Davies slog-swept Leach for six on his way to a 63-ball half-century, also featuring 6 fours. He was unbeaten on 51 at lunch with the scoreboard reading 108 for two from 23 overs.
The afternoon session saw Davies and Hain progressing serenely against an impotent looking Somerset attack on a pitch that appeared to offer little seam movement.
Skipper Lewis Gregory had turned to Leach as early as the 15th over, but the England left-arm spinner found it hard to stem the run-rate as Davies and Hain batted positively.
Davies moved to a chanceless ton with a single off Leach, having looked untroubled in facing 140 balls and extending his boundary count to 17 fours and a six.
He and the equally comfortable Hain had taken their third-wicket stand to 133 in 34.1 overs when it was broken by Leach.
Davies looked to increase the tempo with a reverse sweep and only succeeded in dragging the ball onto his stumps.
It was 203 for three and the error was compounded with only a couple of runs added as Dan Mousley fell lbw to Leach for two.
Hain had been content to play second fiddle to Davies, but when Craig Overton was introduced for a new spell from the Marcus Trescothick Pavilion End, he produced a classic cover drive to register his fifth boundary.
Ed Barnard helped Hain add 31, contributing 19 on his Warwickshire debut before being bowled by Siddle playing inside the line.
All the while Hain was staying rock-like, reaching his fifty with his sixth boundary, a sweetly-timed back-foot shot through the covers off Gregory, He had faced 140 balls, the same number as Davies required to reach three figures.
Burgess secured a first batting point for Warwickshire with a flashing cut for four off Gregory, taking the total to 253 for five.
Burgess then edged Leach between wicketkeeper James Rew and first slip at catchable height, taking advantage of the narrow escape by lofting the next delivery for four as Warwickshire closed in on Somerset's first innings total.
They were three runs ahead by the time the second new ball was taken. It had little effect and the game looked to be meandering towards a draw following the first day washout when, with the floodlights on at the Cooper Associates County Ground, the umpires took the players off at 6.35pm.