Let's construct interpolations of your lists:
list1 = Table[{x, Cos[x]}, {x, 0, 10, 0.5}];
list2 = Table[{x, 0.1 x}, {x, 0, 10, 0.5}];
interpolations = Interpolation /@ {list1, list2};
I am then going to use an NDSolve-based approach to find all intersection, by finding zeroes of the difference between the two interpolating functions:
Clear[f]
f[x_] := Subtract @@ Through[interpolations[x]]
sol = Reap@
NDSolve[{
D[y[x], x] == D[f[x], x], y[1] == f[1],
WhenEvent[y[x] == 0, Sow[x]]},
y, {x, 3, 10}
];
The result contains the abscissae of the intersection points:
sol[[2, 1]]
(* Out: {1.42738, 5.2681, 7.06842} *)
Let's plot these points to check that this approach is sound:
Show[
ListLinePlot[{list1, list2}, ImageSize -> Large],
ListPlot[
Callout[
{#, interpolations[[1]][#]},
Round[{#, interpolations[[1]][#]}, 0.001],
LabelStyle -> Directive[Red, Medium]
] & /@ sol[[2, 1]
], PlotStyle -> {Red, PointSize[0.015]}
]
]

Table[{x, Cos[x]}, {x, 0, 10, 0.5}]? – MarcoB Jun 21 '18 at 16:57