Johnson squeezes past Patterson in nail-biter