Wanderers were one up inside the first minute when Ivan Klasnic capitalised on an error by Jon Bateson and crossed for Davies, who finished from close range, before Petrov doubled their advantage in the 26th, firing in from just outside the area.
It was looking like a comfortable evening's work for the hosts, but the Silkmen - only denied a cup upset in the original third-round tie when David Wheater's late header salvaged Bolton a 2-2 draw - improved after the interval and went close on several occasions to getting on the scoresheet.
The Trotters held on, though, and now face Swansea at home in the next round a week on Saturday.
Bolton boss Owen Coyle, who on Monday had seen Gary Cahill finally complete his move to Chelsea, shuffled things from Saturday's 3-0 Barclays Premier League defeat at Manchester United by making five changes, bringing Joe Riley, Dedryck Boyata, Tuncay Sanli, Davies and Klasnic into the Wanderers side.
For the visitors - currently 15th in npower League Two, 64 places below their opponents - defender Elliott Hewitt was promoted to the first XI, with striker George Donnelly missing out due to a groin problem.
Although in the end they narrowly avoided defeat to Macclesfield in the game at Moss Rose 10 days ago, Bolton had taken an early lead in that match and they did so again in Tuesday night's replay, breaking the deadlock after just 34 seconds.
Defender Bateson attempted to make a clearance out wide but missed the ball and fell over, allowing Klasnic to deliver a cross which Davies slid home.
The Silkmen looked to respond, but Hewitt could only shank a shot wide and a free-kick into the danger zone from Matthew Hamshaw was gathered by Adam Bogdan.
Wanderers had offered little going forward since their opener, but Petrov then sprang into action, drilling an effort towards goal which was blocked.
Moments later, the Bulgarian made it 2-0, collecting the ball on the break from Tuncay, driving to the edge of the box and unleashing a strike that flew into the corner of the net.
Bolton continued to press with Klasnic putting one wide and Riley blazing well off-target, Macclesfield's only real attempt at the other end coming when Hamshaw bent an effort over the bar.
Shaun Brisley was fortunate not to score an own goal shortly after the restart when a cross from Wanderers midfielder Mark Davies came off him and just went too high.
The hosts had appeared to be cruising, although Bogdan was called into action just after the hour mark to save a fierce shot from Carl Tremarco, and then a header from Waide Fairhurst, who had been brought on at the break.
In between those efforts, Klasnic sent the ball over from close range and Bolton substitute Paul Robinson was next to shoot wide.
Macclesfield were showing impressive spirit and Hewitt saw a volley just deflect over.
Further attempts followed from Colin Daniel and the lively Fairhurst, but it was to no avail as Bolton made it through.