© Martin Roe / Retna Ltd. 1 / 5
© Martin Roe / Retna Ltd. 1 / 5

Scottish actor Gerard Butler rocked out to celebrate his birthday over the weekend, performing a song with John Mayer for party guests including Kate Hudson and Jay-Z.

RELATED: Jay-Z's first book hits stores Nov. 16

The "300" star turned 41 in style on Saturday night by renting The Darby restaurant in New York and inviting 100 friends and acquaintances to help him celebrate.

RELATED: Gerard & more of Hollywood's Hottest Singles

Adrien Brody, U2's Bono, actor Jason Statham and professional skateboarder Tony Hawk all turned out for the event, which saw Butler take the mic to sing "Mustang Sally" with Mayer.

Butler also gave a rendition of Oasis' "Wonderwall," before Mayer sang his own hit, "Who Says," according to the New York Post.

RELATED: See more pics of Gerard

A source tells the publication, "He had a pretty good voice -- it wasn't what you'd expect from the guy from '300.' It was epic. He was also in the DJ booth a lot and got the DJ to play a lot of rock, '80s and funk."