Monaghan reached the Ulster Championship semi-finals after a 0-27 to 2-14 win over Cavan in Clones, fueled by a seven-point halftime lead and contributions from 10 scorers.