A.- Die 1966 geborene D._ war bei der Winterthur Schweizerischen Versicherungsgesellschaft unfallversichert, als sie am 3. Februar 1994 einen Verkehrsunfall erlitt. Die Winterthur erbrachte verschiedene Leistungen. Mit Verfügung vom 21. Januar 1997 stellte sie die Heilbehandlungskosten ein, verneinte den Anspruch auf eine Rente sowie Taggelder und gewährte D._ eine Integritätsentschädigung von 12,5 %. D._ liess Einsprache erheben und die Zusprechung einer Invalidenrente beantragen. Die Winterthur ging davon aus, dass in einem zumutbaren sitzenden Verweisberuf 100%ige Arbeitsfähigkeit bestehe, hiess die Einsprache aber teilweise gut und wies die Direktion Zürich an, einen konkreten Einkommensvergleich vorzunehmen und hernach erneut zu verfügen (Einspracheentscheid vom 17. Juli 1997). B.- Die dagegen erhobene Beschwerde hiess das Versicherungsgericht des Kantons Basel-Stadt mit Entscheid vom 25. Mai 1999 teilweise gut, indem es D._ eine Invalidenrente von 25 % zusprach. C.- Die Winterthur lässt Verwaltungsgerichtsbeschwerde führen mit dem Antrag, der kantonale Entscheid sei aufzuheben. D._ lässt auf Abweisung der Verwaltungsgerichtsbeschwerde schliessen und eventualiter die Gewährung der unentgeltlichen Verbeiständung beantragen, während das Bundesamt für Sozialversicherung keine Stellungnahme einreicht.