Darren Currie put Town ahead when he dinked the ball over Andy Marshall and the visitors were comfortable until Ben May levelled with a spectacular strike.
Ipswich's cause was not helped when Richard Naylor went for a professional foul on Barry Hayles and Lewis Price saved well from Paul Robinson.
But Currie worked himself into space on the left and crossed for Parkin, who nipped in between two defenders to net.
Ipswich manager Joe Royle: "Richard is swearing he has not touched Barry Hayles and he has not put his hands on him.
"We are going to look at video evidence as quickly as we can.
"I thought we played very well and even with 10 men we looked most likely to score. Darren Currie had his best game for a long time."
Millwall: Marshall, Dunne, Paul Robinson, Phillips, Vincent, Fangueiro (May 45), Morris (Elliott 45), Livermore, Simpson, Asaba (Hutchison 53), Hayles. Subs Not Used: Igoe, Jones.
Booked: Dunne.
Goals: May 68.
Ipswich: Price, Sito, Naylor, Wilnis, Richards, Currie (Juan 90), Magilton (McDonald 71), Horlock, Garvan (Collins 76), Westlake, Parkin. Subs Not Used: Peters, Supple.
Sent Off: Naylor (76).
Booked: Horlock, Wilnis.
Goals: Currie 13, Parkin 80.
Att: 8,277
Ref: M Halsey (Lancashire).