In this work, we address the problem of selecting the best set of available services or web functionalities (single or composite) to provide a composite service at the minimum cost, while meeting QoS requirements. Our Recursive composition model captures the fact that the available service providers may include providers of single as well as composite services; an important feature that was not captured in earlier models. We show that Recursive Composition is an intrinsically harder problem to solve than other studied compositional models. We use the structure of the Recursive Composition model to design an efficient algorithm BGF-D with provable guarantees on cost. As an embodiment, we design and implement the ReComp architecture for Recursive Composition of web-services that implements the BGF-D algorithm. We present comprehensive theoretical and experimental evidence to establish the scalability and superiority of the proposed algorithm over existing approaches. © 2011 IEEE.