Faits: A. A._, ressortissant portugais interdit d'entrée en Suisse, a été arrêté une première fois le 17 novembre 2010, dans le cadre d'une instruction ouverte sur plainte de son ex-amie B._. Conduite par le Ministère public de l'arrondissement de Lausanne (ci-après: le Ministère public), cette procédure avait pour objet des voies de fait, menaces, tentative de contrainte, dommages à la propriété, contravention à la loi fédérale sur les stupéfiants et infraction à la loi fédérale sur les étrangers. Le prévenu a été remis en liberté le 21 janvier 2011. Le 7 février 2011, B._ a déposé une nouvelle plainte contre le prénommé pour utilisation abusive d'une installation de télécommunication, tentative de contrainte, tentative de contrainte sexuelle et désagréments causés par la confrontation à un acte d'ordre sexuel. Elle a ensuite déclaré vouloir retirer cette plainte le 31 mars 2011. Elle a enfin formulé une nouvelle plainte le 25 mai 2011 pour contrainte, menace et utilisation abusive d'une installation de télécommunication pour des faits survenus en mai 2011. Le 11 juin 2011, A._ a été arrêté une nouvelle fois dans le cadre d'une instruction distincte conduite par le Ministère public de l'arrondissement de la Côte pour lésions corporelles simples et infraction à la loi fédérale sur les étrangers. Il lui était alors reproché d'avoir mordu jusqu'au sang la main de B._. Il a été placé en détention provisoire en raison de risques de fuite et de réitération. Le Tribunal des mesures de contrainte du canton de Vaud (ci-après: le Tmc) a rejeté une demande de mise en liberté par ordonnance du 13 juillet 2011, confirmée par un arrêt rendu le 21 juillet 2011 par la Chambre des recours pénale du Tribunal cantonal du canton de Vaud (ci-après: le Tribunal cantonal). Statuant sur recours de A._, le Tribunal fédéral a annulé cet arrêt et renvoyé la cause au Tmc pour qu'il examine si la détention pouvait être remplacée par les mesures de substitution prévues aux art. 237 ss du Code de procédure pénale suisse (CPP; RS 312.0); la détention provisoire risquait en effet de devenir disproportionnée au regard d'une prévention qui se limitait dans ce cas à une morsure et un séjour illégal en Suisse (arrêt 1B_411/2011 du 31 août 2011). B. Par ordonnance du 14 septembre 2011, le Tmc a ordonné la libération de A._ ainsi qu'une mesure de substitution consistant en une interdiction d'entretenir des relations avec B._. Celle-ci et son père ayant déposé de nouvelles plaintes contre le prénommé en novembre et décembre 2011, l'enquête a été reprise. Les causes susmentionnées ont été jointes et leur instruction a été confiée au Ministère public de l'arrondissement de Lausanne. Le 22 avril 2012, la nouvelle amie de A._, C._, a déposé une plainte contre ce dernier en lui reprochant notamment une tentative d'étranglement. L'intéressé a été appréhendé le jour même. Le 25 avril 2012, le Tmc a ordonné une nouvelle fois sa mise en détention provisoire pour une durée de trois mois, en retenant l'existence de risques de fuite, de collusion et de réitération. Par ordonnance du 18 juillet 2012, il a prolongé cette détention pour trois mois supplémentaires. Le 15 août 2012, le prénommé a présenté une demande de mise en liberté, que le Tmc a rejetée par ordonnance du 23 août 2012, considérant qu'aucune mesure de substitution n'était à même de parer aux risques précités. Le Tribunal cantonal a rejeté le recours formé contre cette ordonnance par arrêt du 3 septembre 2012. Il a considéré en substance qu'il existait des charges suffisantes contre A._ et que le maintien en détention était justifié par un risque concret de récidive qu'aucune mesure de substitution ne pourrait pallier, le principe de proportionnalité étant en outre respecté. C. Agissant par la voie du recours en matière pénale, A._ demande au Tribunal fédéral de réformer cet arrêt en ce sens que sa libération immédiate est ordonnée, subsidiairement de renvoyer la cause au Tmc pour qu'il prononce une mesure de substitution. Il requiert en outre l'octroi de l'assistance judiciaire. Le Ministère public conclut au rejet du recours. Le Tribunal cantonal a renoncé à se déterminer. Le recourant a renoncé à présenter des observations complémentaires.