Where possible i always bridged the back of the hole with pieces of batten spanning beyond the hole, screwing though the existing plasterboard to pull it flush with the back of the board. Fit as many of these to suit the hole and pull in the screws into the board and not flush with the finishing skim.
Make the hole square to ease making the infill piece.
Score with a sharp knife the skim at least an inch back from the hole and remove the skim.
Cut a piece of new P board to fit in the hole(make sure it’s the same thickness as existing) and screw to the battens.
Get some skim tape and over lap the joints, this will help prevent cracking of the joints caused by movement or shrinkage.
Skim over new p board, or use easy fill which can be sanded easier than say one coat.
HTH
edit, need to type faster…