I think you played it fine overall, but I probably would've pushed all-in pre-flop. That's the only way you win this hand if you get him to lay it down pre-flop.
Also I'd consider you lucky because, most players in that spot would've at least tried to put you all in on turn if not the river.