Daniel Craig has taken a break from starring as action hero James Bond to play a gritty role in a World War II flick Defiance.