Despite going behind to an early converted try, Ionians hit back with scrum-half Oliver Fox touching down on 28 minutes and stand-off Greg Lound adding the conversion.
Caldy retook the lead two minutes later with another converted try, but the Yorkshire side took a lead they would not lose with winger Sam Wilson and replacement Richard Stout both scoring in quick succession. Lound’s conversion put them 19-14 ahead.
Centre Lewis Minikin’s 44th minute effort was also improved, and after Lound had traded penalties with Candy they were still 29-17 ahead on the hour mark. The Cheshire side pulled back a try with 10 minutes left, but it was only enough to secure a losing bonus point.
Huddersfield ran in six tries on their way to a 44-10 victory over rivals Sheffield in National Two.
Centre Tom Owen scored Huddersfield’s only first-half try as Sheffield stayed in touch at 11-7 at half time, winger Gareth Morley having touched down for the visitors.
But after the break the floodgates opened with further Huddersfield tries coming from winger Brandon Conway, hooker Ben Morrill, replacement Fran Entressengle, second row Adam Malthouse and a penalty try.
Scrum-half Joel Hinchliffe kicked three conversions and two penalties to complete the scoring.
Wharfedale also recorded a Yorkshire derby victory, winning 16-0 at Sheffield Tigers to boost their bid to avoid relegation.
Oli Cicognini raced in early for Wharfedale and Tom Barrett converted to take him past the 1,000-point mark for the club.
A penalty five minutes later put the visitors 10-0 ahead at the break, and a second-half penalty and drop goal on 75 minutes sealed the win.
Elsewhere Otley scraped a narrow 15-13 victory at Hinckley.
Harrogate’s promotion hopes suffered a knock when they were beaten 24-17 by leaders Preston Grasshoppers in the North Premier league.
The hosts had opened up a 17-3 lead by half time with Luke White’s penalty being Harrogate’s only score.
After the break they outscored their hosts with two converted tries, but it wasn’t enough for the win and they had to settle for a losing bonus point.
Elsewhere Hull’s hopes of promotion were similarly dented when they were held to a 7-7 draw at Ilkley, while Sandal went down 12-5 at Kendal and Morley were beaten 26-7 at Rossendale.
Cleckheaton ran in six tries on their way to a 43-13 victory over hosts Huddersfield YMCA.
Hooker Ben Thrower and scrum-half Jack Bickerdyke scored tries which helped Cleck into a 12-6 lead at half time, and this was followed by No 8 Jack Seddon, centre Mike Swetman, winger Grant Fitzsimmons, full-back James Wilson and winger Lee Queeley all scoring after the break.
Driffield maintained their hopes of promotion with an 18-10 victory at Malton and Norton, but at the other end of the table Dinnington’s hopes of staying up suffered a set-back when they lost 28-22 at Northern.
Three penalties from Dale Breakwell weren’t enough for West Leeds who lost 29-9 at Penrith, while Bradford and Bingley were beaten 31-0 at Morpeth.
Leaders York made heavy work of beating second-bottom strugglers Selby, eventually winning 10-7, while Beverley were narrow 19-18 winners at Heath and remain second.
Scarborough ran in four tries in a 26-17 win over Hullensians, while Bradford Salem eased their relegation worries with a 22-16 victory over bottom of the table Wheatley Hills.
And in the top of the table Yorkshire Two clash between leaders Pontefract and Barnsley, it was the West Yorkshire side who emerged 15-14 winners to extend their lead.