I believe the 80286 had a prefetch instruction queue, but did it have any other forms of cache? Was the 80386 the first x86 CPU to have a cache?
The 386 didn’t have an on-board cache, but it could be associated with an 82385 controller to use an external cache. Some later 386-compatible CPUs, such as IBM’s 386SLC, included on-board cache; Intel’s own 386SL CPUs included a cache controller, but I don’t think they were available with on-board cache (there are conflicting opinions on the Internet). There were also 386 replacements such as Cyrix 486DLC upgrade processors, with on-board cache; since they were upgrade processors, they ended up having to deal with various cache coherency issues in ways Intel hadn’t planned for, since motherboard implementers didn’t necessarily take cache requirements into account.
(Regarding 80286 and in addition to Stephen's Answers)
While the 286 didn't have an on chip cache, some high end machines did add one. Similar for accelerator boards for 8088 PCs.
The issue here is that an 80286's memory cycle was, at the time, still slow enough to be served with widely available standard RAM. The 286 uses two full clock cycles (PCLK) to access memory. Thus an 8 MHz CPU needs RAM with a 200ns access time or better.
Also, wait states didn't break down an 80286 as much as one would assume. A 1 ws memory only slowed down the system by 10-30%, depending on the task. With one wait state A 12-14 MHz CPU could run with the same memory as an 8 MHz system, still delivering a noticeable performance increase.
Later, faster systems (12..16 MHz) employed various tactics to relief memory stress, for example interleaved banks and variable wait states. This resulted in close to maximum performance without the need of a cache.