Generally, they mean exactly the same thing, but 'have got' is more informal.
In questions, using 'have' is typically more formal than 'have got', but that depends on the area the speaker comes from. In parts of Ireland, for example, it's common to say 'Have you a pen?', but I would personally always say 'Have you got a pen?'.
In the area of England where I come from saying 'Have you a pen?' is more formal and old-fashioned.
However, there's not a huge difference between saying 'I have a pen' and 'I have got a pen'.