Ryan Johnson struck out eight and allowed just one hit over six innings of work while Nolan Schanuel hit a two-run homer as the Los Angeles Angels defeated the Baltimore Orioles 5-1.