Goal reported on June 6 that the two clubs have been in advanced talks regarding a move for the Portugal international, with Juve holding out for around €60 million (£53.6m/$67.4m).
Sources in Italy now indicate that further talks have taken place on Monday, and while City are still reluctant to meet Juventus’ top asking price, they are prepared to up their initial offer.
That represents a breakthrough in negotiations and sources believe a final agreement, worth €50m (£44.7m/$56.1m) plus bonuses, could be reached in the coming days.
Manchester United have shown an interest in Cancelo but have so far not made a concrete proposal. The club are also interested in Crystal Palace's Aaron Wan-Bissaka, who City did consider signing before approaching Juve for Cancelo.
The Portugal right-back, 25, could therefore become City’s first summer signing, as the club prepare to sell Brazil international Danilo.
The 27-year-old has failed to secure regular first-team football during his two years in Manchester and is the subject of several offers from around Europe.
City have only moved for Cancelo due to Danilo’s expected exit, as they had initially identified just two priority summer transfer targets; a new deep-lying midfielder and a centre-back.
They are waiting for an answer from Atletico Madrid midfielder Rodri, who reached a verbal agreement with the Premier League champions before the end of last season but has still not made a final decision on his future.
City are still hopeful that he will choose them, however, and a development could arrive in the coming days.
The Blues also want to sign Harry Maguire from Leicester City, but do not want to meet the Midlanders’ valuation of £75m plus add-ons that could total £90m.
Meanwhile, City are ready to make a shock move for Angelino, who they sold to PSV one year ago.
Sources close to the English side insist they can re-sign the 22-year-old left-back for just €6m.
That is an option they are ready to explore, with a view to using the Spaniard, who initially joined the club in 2012, as a back-up option to Oleksandr Zinchenko and Benjamin Mendy next season.
Additional reporting by Sam Lee.