A fundamental problem in computational geometry is to compute an obstacle-avoiding Euclidean shortest path between two points in the plane. The case of this problem on polygonal obstacles is well studied. In this article, we consider the problem version on curved obstacles, which are commonly modeled as splinegons. A splinegon can be viewed as replacing each edge of a polygon by a convex curved edge (polygons are special splinegons), and the combinatorial complexity of each curved edge is assumed to be O(1). Given in the plane two points s and t and a set S of h pairwise disjoint splinegons with a total of n vertices, after a bounded degree decomposition of S is obtained, we compute a shortest s-to-t path avoiding the splinegonswhere k is a parameter sensitive to the geometric structures of the input and is upper bounded by O(h 2 ). The bounded degree decomposition of S, which is similar to the triangulation of the polygonal domains, can be computed in O(n log n) time or O(n + h log 1+ h) time for any > 0. In particular, when all splinegons are convex, the decomposition can be computed in O(n + h log h) time and k is linear to the number of common tangents in the free space (called "free common tangents") among the splinegons. Our techniques also improve several previous results: (1) For the polygon case (i.e., when all splinegons are polygons), the shortest path problem was previously solved in O(n log n) time, or in O(n+ h 2 log n) time. Thus, our algorithm improves the O(n+ h 2 log n) time result, and is faster than the O(n log n) time solution for sufficiently small h, for example, h = o( n log n). (2) Our techniques produce an optimal output-sensitive algorithm for a basic visibility problem of computing all free common tangents among h pairwise disjoint convex splinegons with a total of n vertices. Our algorithm runs in O(n+h log h+k) time and O(n) working space, where k is the number of all free common tangents. Note that k = O(h 2 ). Even for the special case where all splinegons are convex polygons, the previously best algorithm for this visibility problem takes O(n + h 2 log n) time. (3) We improve the previous work for computing the shortest path between two points among convex pseudodisks of O(1) complexity each.In addition, a by-product of our techniques is an optimal O(n + h log h) time and O(n) space algorithm for computing the Voronoi diagram of a set of h pairwise disjoint convex splinegons with a total of n vertices.