Producentami wykonawczymi byli Peter Guber i Jon Peters.
Casting Michael Keaton powtórzył swoją rolę Bruce’a Wayne’a / Batmana, ale zażądał wyższej pensji, która wzrosła z 5 milionów dolarów do 10 milionów dolarów. W roli Pingwina Burton chciał obsadzić Marlona Brando, ale studio Warner Bros. nie zgodziło się na to, gdyż wolało Dustina Hoffmana. Pod uwagę brani byli również Christopher Lloyd i Robert De Niro, lecz ostatecznie faworytem stał się Danny DeVito. Aktor był początkowo niechętny do udziału w filmie, lecz został przekonany przez swojego bliskiego przyjaciela, Jacka Nicholsona, który sportretował Jokera w poprzedniej części. W roli Seliny Kyle / Kobiety-Kot początkowo obsadzono Annette Bening, lecz ta musiała zrezygnować z powodu zajścia w ciążę. Pod uwagę brano takie aktorki, jak m.in. Cher, Bridget Fonda, Jennifer Jason Leigh, Madonna, Julie Newmar. Ostatecznie rola przypadła Michelle Pfeiffer. Burgess Meredith, który zagrał Pingwina w serialu Batman z lat 60., miał wystąpić w roli cameo jako ojciec Pingwina, ale zachorował podczas kręcenia filmu. Został zastąpiony przez Paula Reubensa, natomiast Diane Salinger zagrała jego żonę.