The 8Bitdo Sn30 Pro+ Bluetooth Controller is really popular because it's supported by the Nintendo Switch. For smartphones, I recommend the Razer Kishi Mobile Game Controller because you can cradle your phone into it as if it were a Nintendo Switch.
Don't like this selection? Click here to search for more Bluetooth gamepads on Amazon.
I know Bluetooth gamepads are all the rage, but I know some of you prefer a wired controller (they're far easier to set up). I recommend this gamepad: Logitech Gamepad F310 (it's not featured below because they don't allow product embedding). It's a nice, solid gamepad with a smooth grip and 11 buttons.
Don't like this selection? Click here to search for more USB gamepads on Amazon.