If it is ranking well and you have control of the landing page then safest option would be to add a call to action that points to your new offer - like a nice graphic with click here link or whatever. This way you are preserving the content on the page and the rank should not change. YOu will hopefully capture a large percentage of the visitors - especially if you mention the offer is expired, here is the best alternative etc.
Or you can do maybe a delayed redirect so that google still picks up and indexes the page but the visitor is autoamtically forwarded after 1 second or something - again this should preserve ranking but you will capture all traffic.
Or you can do a full redirect to your new location, but this is more risky.