Many of the major airlines partner with Rewards Network (formerly iDine). You give them your credit card, and when you pay with that card at participating restaurants (which I believe have to pay for inclusion) then you get a certain number of miles per dollar spent. The good news is that you don’t have to use any coupons, show an app, or do anything that indicates you’re getting a discount. I don’t let this determine where I eat, but a few places I already eat at do participate so it is basically free miles.
Earning a few miles this way will also reset your United miles expiration date, which is 18 months from most recent activity. So it’s good to have it set up ahead of time, even with a seldom-used card.
Right now, the United MileagePlus Dining program is running a special promotion where can you can get 1,500 United miles if you join by 10/31 and spend $40+ at a participating restaurant, bar or club within 40 days of joining, plus write a quick review. If you do this twice, you’ll get the max possible 3,000 bonus United miles. Again thanks for reader Jessica for the tip.