Calling the hotel directly is actually your best bet - they'd rather fill a room at a discount than leave it empty, and they can sometimes work with you on price in ways the booking sites can't. That said, check HotelTonight and similar last-minute apps first since they do aggregate genuine same-day or next-day deals that hotels put out specifically for those platforms. The trick is not to assume the first price you see is final; compare across 2-3 sources and don't be shy about asking the hotel's front desk if they can beat what you're seeing online. One warning though: sometimes "deals" are just regular rates that look cheap because you're comparing against inflated walk-up prices, so verify what that hotel normally costs during your travel dates before you think you're getting a bargain.