Danny Schofield calmly converted Millwall's 82nd-minute equaliser to cancel out Scott Cuthbert's first-half header, but the match was overshadowed by the two dismissals.
Midfielder Douglas was first to see red in the 26th minute when he jumped in two-footed on Jimmy Abdou. Referee Kevin Wright's decision incensed the home crowd, but parity was restored after 64 minutes when Millwall's Frampton was ordered off for a high lunge which pole-axed Jon-Paul McGovern.
As tempers flared, Swindon's Kevin Amankwaah and Millwall's Neil Harris had to be pulled apart by team-mates and both received yellow cards.
Veteran striker Harris hit a post as Millwall finished strongly and home goalkeeper David Lucas also made important saves to deny Steve Morison and Chris Hackett in a frenetic finish.
Danny Wilson's Swindon, who have now drawn seven of their 12 League One games, had deserved their first-half lead courtesy of Cuthbert's header from a McGovern corner.