Mashup is a user-centric approach to create value-added new services by utilizing and recombining existing service components. However, as services become increasingly more spontaneous and prevalent on the Internet, finding suitable services from which to develop a mashup based on users’ explicit and implicit requirements remains a daunting task. Several approaches already exist for recommending specific services for users but they are limited to proposing only services with similar functionality. In order to recommend a set of suitable services for a general mashup based on users’ functional specifications, a novel social-aware service recommendation approach, where multi-dimensional social relationships among potential users, topics, mashups, and services are described by a coupled matrices model, is proposed in this paper. Accordingly, a factorization algorithm is designed to predict unobserved relationships, and we use a genetic algorithm to learn some specific parameters, and then construct a comprehensive service recommendation model. Experimental results for a realistic mashup data set indicate that the proposed approach outperforms other state-of-the-art methods.