Princesses seal semi-final spot