It's pretty bloody difficult to reconstruct food webs for fossils, so we tend to rely on using clever methods like looking at microwear on teeth (a major research effort of my supervisor Mark Purnell) or other clever techniques like using isotope data. Sometimes we are lucky enough to find gut contents.
But sometimes you get fossils like this. This is literally a fossilized hunting scene, showing an Aspidorhynchus (a fish) eating a Rhamphorhynchus (a pterosaur) which had itself eaten a fish (Leptolepides).
I needn't point out that it is stupidly improbable that we find fossils like this, but... well, it is stupidly improbable. This is how the authors envisage the fight going,
The Aspidorhynchus apparently attacked from in front when the Rhamphorhynchus still flew low above water surface [it presumably hunted by skimming for fish, like sea eagles do], grabbed the left wing level with the distal end of the antebrachium close to the carpus and pulled the pterosaur under water. While the Rhamphorhynchus rapidly drowned with its last prey in the throat the cause of death of the Aspidorhynchus remains speculative. Evidently, the fish could not swallow the pterosaur due to its size and bulky skeleton. Furthermore, ganoid fishes like Aspidorhynchus have skulls with limited kinetic options such that they were not suitable to manipulate prey that exceeded the standard gape of the jaws. Obviously, the fish was neither able to swallow the pterosaur, neither was it able to get rid of its oversized victim. Possibly the aktinofibrils of the tough and leathery wing membrane of the pterosaur – got jammed between the densely packed teeth of the fish. Like most extant fish Aspidorhynchus had no other possibility to get rid of its unwanted victim than trying to shake it loose or swimming rapid spinning or twisting maneuvers. That the fish in fact tried to get rid of the pterosaur by vigorous movements of its head is evidenced by the distortion of the left wing finger elements, while the remaining skeleton of the Rhamphorhynchus lies in natural articulation. Apparently, the flight membrane tissue remained jammed between the teeth, while the interphalangeal ligaments of the left wing finger ruptured under the power of the fish tearing at the flight membrane. Finally, the entire wing finger of the drowned pterosaur was pulled under the antebrachium. Such a distortion can only happen when the proximal part of the flight membrane, likely the thin and structurally weak tenopatagium, , was dramatically overextended or even had ruptured. The most likely scenario is that the Aspidorhynchus fought its victim for a period of time, thereby rapidly sinking into the hostile anoxic water layer of the Late Jurassic Eichstätt basin –, where it was instantly suffocated. Still linked together, both carcasses sank to the sea floor, whereby the pterosaur contacted the ground first, likely being pushed down by the massive head of the Aspidorhynchus.For a more detailed writeup, see Dave Hone's blog or the original paper (it's open access).