Prepare the Pan: Line an 8x8-inch pan with parchment paper, leaving an overhang. Grease the parchment with butter or non-stick spray.
Mix Dry Ingredients: In a saucepan, whisk together sugar, cocoa powder, and salt until combined and lump-free.
Add Milk: Stir in milk until dry ingredients are moistened.
Cook the Fudge: Cook over medium heat, stirring constantly until it boils. Reduce to low, then simmer without stirring until it reaches 235°F to 240°F (soft ball stage), about 5-10 minutes.
Cool and Add Butter & Vanilla: Remove from heat and add butter and vanilla on top without stirring. Let cool to 110°F or warm to the touch.
Beat the Fudge: Beat vigorously with a wooden spoon until it thickens and loses its gloss.
Transfer to Pan: Quickly pour the fudge into the prepared pan, smoothing the top with a spatula.
Let It Set: Allow to set at room temperature or refrigerate until firm.
Cut and Serve: Once set, lift out using parchment overhang and cut into squares.