Seit 1991 ist sie SPD-Mitglied. Barbara Ludwig war von 1994 bis 2001 Mitglied des Sächsischen Landtages. Ab September 2001 war sie Dezernentin für Gesundheit, Soziales und Kultur der Stadt Chemnitz. Nach der Landtagswahl in Sachsen 2004 war Ludwig an den Koalitionsverhandlungen zur Bildung einer großen Koalition beteiligt. Zum Verhandlungsauftakt berichtete die Sächsische Zeitung, dass aus CDU-Kreisen eine 2002 geschehene Unfallfahrt Ludwigs mit Todesfolge lanciert worden sei, und spekulierte, dass sie daher nicht mehr als Kandidatin als Sozialministerin gelte.[1] Nach Abschluss der Regierungsbildung wurde sie von Ministerpräsident Georg Milbradt am 11. November 2004 zur Ministerin im Sächsischen Staatsministerium für Wissenschaft und Kunst berufen.[2]
Am 25. Juni 2006 gewann sie die Wahl zur Oberbürgermeisterin der Stadt Chemnitz und wurde damit Nachfolgerin von Peter Seifert (SPD), der am 1. August 2006 in den Ruhestand ging. Aufgrund einer Klage Martin Kohlmanns gegen seine Nichtzulassung als Kandidat zur Wahl konnte sie ihr Amt, wie am 19. Juli 2006 bekanntgegeben wurde, nicht fristgerecht antreten und wurde daher am 13. September 2006 vom Chemnitzer Stadtrat mit 39 von 51 Stimmen zur Amtsverweserin gewählt. Sie konnte damit alle Rechte und Pflichten sowie den Titel einer Oberbürgermeisterin führen, jedoch ihr Stimmrecht im Stadtrat nicht ausüben.[3] Nach der Zurückweisung der Klage Kohlmanns durch den 4. Senat des Sächsischen Oberverwaltungsgerichts wurde Ludwig am 8. Juni 2007 Oberbürgermeisterin. Bei der Oberbürgermeisterwahl am 16. Juni 2013 verfehlte sie mit einem Ergebnis von 46,56 % knapp die absolute Mehrheit,[4] sodass zwei Wochen später ein zweiter Wahlgang notwendig wurde, in dem sie nach Rückzug der Bewerber von Bündnis 90/Die Grünen, Volkmar Zschocke, und der Linken, Miko Runkel, mit 63,84 % der Stimmen im Amt bestätigt wurde.[5] Bei der Oberbürgermeisterwahl 2020 kandidierte sie nicht wieder um das Amt.[6] Ihre Amtszeit endete am 31. Oktober 2020. Der amtierende Ordnungsbürgermeister Miko Runkel führte übergangsweise die Amtsgeschäfte[7] bis zur Amtseinführung des gewählten Nachfolgers Sven Schulze, die am 25. November 2020 stattfand.[8]
Am 26. Oktober 2007 wurde Ludwig vom Parteitag der SPD in den Bundesvorstand gewählt. Sie war vorher Mitglied im Präsidium des Bundesvorstandes der SPD.
Für die „sehr positive Entwicklung der Stadt“, die sie maßgeblich vorangetrieben habe, verlieh ihr der Landtagspräsident Matthias Rößler am 16. Juni 2018 die Sächsische Verfassungsmedaille.[9]