Line an 8" x 8" baking pan with parchment, leaving a 2" overhang on 2 opposite sides. Lightly grease with cooking spray.
In a large pot over medium-low heat, cook chips, milk, cocoa powder, and salt, stirring constantly with a rubber spatula and scraping bottom and edges of pot to avoid scorched chocolate, until melted and smooth, 3 to 5 minutes.
Remove pot from heat. Stir in marshmallows and peanuts. Add peanut butter cups and gently stir to combine without crushing them. Pour into prepared pan and spread evenly, pressing down with spatula to remove air pockets. Top with M&M’s and gently press into surface. Refrigerate fudge until set, at least 2 hours.
Using parchment overhang, lift out fudge and transfer to a cutting board. Cut into squares.
Make Ahead: Fudge can be made 2 weeks ahead. Store in an airtight container at room temperature or in the refrigerator.
