Sean Penn provided the only upset on Oscar night, beating favourite Mickey Rourke to the Best Actor gong for his lead role in Milk.