The ability to discover services is the major prerequisite for effective usability of MANETs. Group-based Service Discovery (GSD) protocol is a typical service discovery protocol for MANETs. However, because of large redundant packet transmissions, its packet overhead is high. In this paper, in light of GSD, we propose a new service discovery protocol for Mobile Ad-Hoc Networks (MANETs): Candidate Node Pruning enhanced Group-based Service Discovery Protocol (CNPGSDP). In CNPGSDP, two schemes are introduced to enhance GSD: Broadcast Simulated Unicast (BSU) and Candidate Node Pruning (CNP). In BSU, several unicast request packets are replaced with one request packet transmitted in broadcast mode with all unicast receivers enclosed. CNP further reduces the number of request packets by reducing the number of candidate nodes. Mathematical analysis and simulation tests both show that CNPGSDP is a very effective, efficient, and prompt service discovery protocol for MANETs.