OK. I have solved it for my computer:
First need to make sure that in iCal (on the Mac laptop) an iCloud account is activated (under preferences/accounts), then need to select one of the iCloud calendars (any one of them, doesn't seem to matter which) as the default calendar (again under preferences/general). Need to do same on iphone, if this hasn't been done previously (I had already done this though).
After that, any new appointments made on the laptop seem to appear on iCloud. To move over the old appointments, have to select each one individually and change the calendar from the 'on my mac' to the equivalent iCloud one (all the calendars have an iCloud duplicate).
Still getting a couple of duplicates around invited & repeat appointments, but should resolve eventually once I start making all my appointments on the iCloud calendars.